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 相关文章推荐
JS面向对象、prototype、call()、apply()
May 14 Javascript
jquery随意添加移除html的实现代码
Jun 21 Javascript
javascript工具库代码
Mar 29 Javascript
绑定回车enter事件代码
May 18 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
Aug 18 Javascript
JS实现动态给标签控件添加事件的方法示例
May 13 Javascript
微信小程序实现点击返回顶层的方法
Jul 12 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
使用webpack搭建react开发环境的方法
May 15 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
如何在JS文件中获取Vue组件
Sep 16 Javascript
vue3.0 上手体验
Sep 21 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与XML联手进行网站编程代码实例
2008/07/10 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
浅谈Angular单元测试总结
2019/03/22 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
python实现八大排序算法(2)
2017/09/14 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
python如何生成网页验证码
2018/07/28 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
请说出以下代码输出什么
2013/08/30 面试题
学习党代会心得体会
2014/09/05 职场文书
党员个人对照检查材料
2014/10/01 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang