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 相关文章推荐
IE和FireFox(FF)中js和css的不同
Apr 13 Javascript
Extjs中ComboBox加载并赋初值的实现方法
Mar 22 Javascript
window.requestAnimationFrame是什么意思,怎么用
Jan 13 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
AJAX和jQuery动态加载数据的实现方法
Dec 05 Javascript
vue.js学习笔记:如何加载本地json文件
Jan 17 Javascript
js Dom实现换肤效果
Oct 21 Javascript
微信小程序页面间值传递的两种方法
Nov 26 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 Javascript
Vue中函数防抖节流的理解及应用实现
Apr 24 Javascript
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
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+SqlServer实现分页显示
2006/10/09 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
Python入门篇之字符串
2014/10/17 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
践行三严三实心得体会
2014/10/13 职场文书
先进个人总结范文
2015/02/15 职场文书
红楼梦读书笔记
2015/06/25 职场文书
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server
Docker部署Mysql8的实现步骤
2022/07/07 Servers