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 相关文章推荐
让广告代码不再影响你的网页加载速度
Jul 07 Javascript
JavaScript 比较时间大小的代码
Apr 24 Javascript
javascript学习笔记(六) Date 日期类型
Jun 19 Javascript
jQuery阻止同类型事件小结
Apr 19 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 Javascript
JavaScript实现动态删除列表框值的方法
Aug 12 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
使用Node.js实现简易MVC框架的方法
Aug 07 Javascript
如何理解Vue的v-model指令的使用方法
Jul 19 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 Javascript
vue抽出组件并传值实例
Jul 31 Javascript
JS数组的常用方法整理
Mar 31 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文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
php socket通信简单实现
2016/11/18 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
python 多个参数不为空校验方法
2019/02/14 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
战友聚会邀请函
2014/01/18 职场文书
校园活动策划方案
2014/06/13 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
结婚堵门保证书
2015/05/08 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
python中 .npy文件的读写操作实例
2022/04/14 Python