Jquery实现自定义窗口随意的拖拽


Posted in Javascript onMarch 12, 2014

在网页上我们经常看到,当点击一个按钮时,弹出一个自定义窗口,并且可以随意的拖拽,从而改变其位置

使用jquery实现拖拽,则必须要jquery的文件了,实现步骤:

1、引入jquery文件

2、编写js脚本

具体代码:

html代码:

<button id="show">显示</button> 
<div class="win"> 
<div class="wTop"><p style="float:right;margin:5px 5px 0px 0px;color:white" id="hidden">X</p></div> 
<div class="content"></div> 
</div>

css样式:
<style type="text/css"> 
.win{width:500px;height:600px;background:#000000;border-radius:8px;box-shadow:0px 0px 5px 10px;opacity:0.8;position:absolute;left:0;top:0;display:none} 
.win .wTop{height:30px;width:100%;cursor:move} 
.win .content{height:570px;width:100%;border-radius:5px;background:white} 
</style>

js脚本:
<script language="javascript" type="text/javascript"> 
$(function(){ 
//拖拽 
dragAndDrop(); 
//初始化位置 
initPosition(); 
//点击按钮 
clickShowBtn(); 
}); 
//拖拽 
function dragAndDrop(){ 
var _move=false;//移动标记 
var _x,_y;//鼠标离控件左上角的相对位置 
$(".wTop").mousedown(function(e){ 
_move=true; 
_x=e.pageX-parseInt($(".win").css("left")); 
_y=e.pageY-parseInt($(".win").css("top")); 
//$(".wTop").fadeTo(20,0.5);//点击开始拖动并透明显示 
}); 
$(document).mousemove(function(e){ 
if(_move){ 
var x=e.pageX-_x;//移动时鼠标位置计算控件左上角的绝对位置 
var y=e.pageY-_y; 
$(".win").css({top:y,left:x});//控件新位置 
} 
}).mouseup(function(){ 
_move=false; 
//$(".wTop").fadeTo("fast",1);//松开鼠标后停止移动并恢复成不透明 
}); 
} 
//初始化拖拽div的位置 
function initPosition(){ 
//计算初始化位置 
var itop=($(document).height()-$(".win").height())/2; 
var ileft=($(document).width()-$(".win").width())/1.8; 
//设置被拖拽div的位置 
$(".win").css({top:itop,left:ileft}); 
} 
//点击显示按钮 
function clickShowBtn(){ 
$("#show").click(function(){ 
$(".win").show(1000); 
}); $("#hidden").click(function(){ 
$(".win").hide(1000); 
}); 
} 
</script>

引入的js文件
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
Javascript 相关文章推荐
总结一些js自定义的函数
Aug 05 Javascript
js动态为代码着色显示行号
May 29 Javascript
ie中js创建checkbox默认选中问题探讨
Oct 21 Javascript
用正则表达式替换图片地址img标签
Nov 22 Javascript
jQuery中:nth-child选择器用法实例
Dec 31 Javascript
jQuery+ajax实现文章点赞功能的方法
Dec 31 Javascript
在页面中输出当前客户端时间javascript实例代码
Mar 02 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
Jun 11 Javascript
Vue中CSS动画原理的实现
Feb 13 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
vue 使用原生组件上传图片的实例
Sep 08 Javascript
Jquery实现自定义弹窗示例
Mar 12 #Javascript
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 #Javascript
使用js检测浏览器是否支持html5中的video标签的方法
Mar 12 #Javascript
利用Keydown事件阻止用户输入实现代码
Mar 11 #Javascript
JavaScript中奇葩的假值示例应用
Mar 11 #Javascript
Javascript加载速度慢的解决方案
Mar 11 #Javascript
js解析json读取List中的实体对象示例
Mar 11 #Javascript
You might like
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
Django中信号signals的简单使用方法
2019/07/04 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
制药工程专业应届生求职信
2013/09/24 职场文书
个人贷款收入证明
2014/10/26 职场文书
助学感谢信范文
2015/01/21 职场文书
职工宿舍管理制度
2015/08/05 职场文书
军事理论课感想
2015/08/11 职场文书
Nebula Graph解决风控业务实践
2022/03/31 MySQL