jQuery 可以拖动的div实现代码 脚本之家修正版


Posted in Javascript onJune 26, 2009

当然,代码使用起来也非常的方便,很多东西就不用自己再去琢磨了。
研究的过程中顺便用jQuery实现了一个div的拖动,代码附于本文结尾。
实现的思路请参考我的可以拖动的DIV(二)一文。
在参考jQuery中文网站中的例子时,我发现他们在div窗口标题栏触发click事件时,将div的位置移上了一些,而mouseup的事件注册在整个div窗口上,这个思路让我很受启发,解决了鼠标移动很快而div不能跟上导致的错误,非常好的解决办法。
另外,请注意事件起泡,在jQuery以及任何实现div拖动的js代码中,事件起泡无疑都是要阻止的。
在jQuery 的bind或者unbind方法中,函数的返回值最好都用false,不信的话,可以试试true。
这个事件起泡的过程在一般代码中我们用stopPropagation方法来阻止。
效果图:
jQuery 可以拖动的div实现代码 脚本之家修正版
注意文中加载了jquery-1.2.6.js

<script language="javascript" type="text/javascript" src="jquery-1.2.6.js"></script> 
<style type="text/css"> 
<!? 
body { 
background-color: #333333; 
} 
.win{ 
position:absolute; 
top:0px; 
left:0px; 
width:300px; 
height:222px; 
} 
.title{ 
height:20px; 
width:300px; 
position:absolute; 
background-color:#666666; 
float:inherit; 
top:0px; 
left:0px; 
background-image:url(bgo.gif); 
} 
.winCon{ 
height:200px; 
width:298px; 
position:absolute; 
border:solid; 
border-width:1px; 
border-color:#666666; 
border-top:none; 
float:inherit; 
left:0px; 
top:20px; 
} 
?> 
</style> 
<a href="#" onclick="addDiv(this,'asd');">asgfsdg</a> 
<a href="#" id="zxca" onclick="addDiv(this,'zxc');">asgfsdg</a> 
<script language="javascript" type="text/javascript"> 
function addDiv(element,str){ 
$(document.body).append("<div class='win' id='win"+str+"‘><div class='title' id='"+str+"‘></div><div class='winCon'>asfsdgfsdgsd</div></div>"); 
$("#"+str).mousedown(function(event){ 
var offset = $(this).offset(); 
_x=event.clientX-offset.left; 
_y=event.clientY+20-offset.top; 
$("#win"+str).css({"top":offset.top-20+"px"}); 
$("#win"+str).mousemove(function(event){ 
_xx=event.clientX-_x; 
_yy=event.clientY-_y; 
this.style.left=_xx+"px"; 
this.style.top=_yy+"px"; 
this.style.zIndex="100″; 
return false; 
}); 
return false; 
}); 
$("#win"+str).mouseup(function(){ 
$(this).unbind("mousemove"); 
$(this).css({"z-index":"-1″}); 
return false; 
}); 
element.removeEventListener("click",true); 
} 
</script>
Javascript 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
js调试工具Console命令详解
Oct 21 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
node.js实现端口转发
Apr 14 Javascript
jquery常用的12个小功能
Jul 22 Javascript
Ajax 加载数据 练习代码
Jan 05 Javascript
ES6新特性之Symbol类型用法分析
Mar 31 Javascript
javascript高仿热血传奇游戏实现代码
Feb 22 Javascript
create-react-app修改为多页面支持的方法
May 17 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
Sep 03 Javascript
JQuery 国际象棋棋盘 实现代码
Jun 26 #Javascript
javascript 读取图片文件的大小
Jun 25 #Javascript
JQuery 入门实例1
Jun 25 #Javascript
JavaScript 开发中规范性的一点感想
Jun 23 #Javascript
jQuery 表单验证插件formValidation实现个性化错误提示
Jun 23 #Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
Jun 23 #Javascript
一些常用的JS功能函数代码
Jun 23 #Javascript
You might like
php cookies中删除的一般赋值方法
2011/05/07 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
Three.js基础学习教程
2017/11/16 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
Python浅复制中对象生存周期实例分析
2018/04/02 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
python做接口测试的必要性
2019/11/20 Python
Python创建数字列表的示例
2019/11/28 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
校长先进事迹材料
2014/02/01 职场文书
小组合作学习反思
2014/02/18 职场文书
八项规定整改方案
2014/02/21 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
求职信格式要求
2014/05/23 职场文书
教师节宣传方案
2014/05/23 职场文书
个人年终总结结尾
2015/03/06 职场文书
退货证明模板
2015/06/23 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL