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 相关文章推荐
Extjs Ajax 乱码问题解决方案
Apr 15 Javascript
js身份证判断方法支持15位和18位
Mar 18 Javascript
JS中setTimeout和setInterval的最大延时值详解
Feb 13 Javascript
微信小程序 下拉菜单简单实例
Apr 13 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
JS实现百度搜索接口及链接功能实例代码
Feb 02 Javascript
原生JS实现瀑布流插件
Feb 06 Javascript
使用veloticy-ui生成文字动画效果
Feb 08 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 Javascript
React Native项目框架搭建的一些心得体会
May 28 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_MySQL教程-第一天
2007/03/18 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
js中let能否完全替代IIFE
2019/06/15 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
Python记录详细调用堆栈日志的方法
2015/05/05 Python
python函数局部变量用法实例分析
2015/08/04 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
python 批量将中文名转换为拼音
2021/02/07 Python
一般党员对照检查材料
2014/09/24 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
Feign调用传输文件异常的解决
2021/06/24 Java/Android
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android