jQuery拖拽div实现思路


Posted in Javascript onFebruary 19, 2014

思路是利用jquery的mousemove,mousedown,mouseup三个事件,定义两个相对位置,分别是

1、组件左上角与屏幕左上角的相对位置

2、鼠标所在坐标与组件左上角的相对位置。

具体函数如下:

.drag{ 
position:absolute; 
background:#0000CC; 
top:100px;left:200px; 
padding:0; 
}

$(document).ready(function(){ 
var move=false;//移动标记 
var _x,_y;//鼠标离控件左上角的相对位置 
$(".drag").mousedown(function(e){ 
move=true; 
_x=e.pageX-parseInt($(".drag").css("left")); 
_y=e.pageY-parseInt($(".drag").css("top")); 
}); 
$(document).mousemove(function(e){ 
if(move){ 
var x=e.pageX-_x;//控件左上角到屏幕左上角的相对位置 
var y=e.pageY-_y; 
$(".drag").css({"top":y,"left":x}); 
} 
}).mouseup(function(){ 
move=false; 
});

其中e.pageX,e.pageY为当前鼠标的横纵坐标。

大家自己动手试一下,思路就更加清晰了~

Javascript 相关文章推荐
dreamweaver 安装Jquery智能提示
Apr 02 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 Javascript
基于jquery编写的放大镜插件
Mar 23 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
快速掌握jQuery插件WebUploader文件上传
Nov 07 Javascript
Vue键盘事件用法总结
Apr 18 Javascript
angular ng-click防止重复提交实例
Jun 16 Javascript
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
判断div滑动到底部的scroll实例代码
Nov 15 Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
微信小程序转化为uni-app项目的方法示例
May 22 Javascript
JQuery异步加载无限下拉框级联功能实现示例
Feb 19 #Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 #Javascript
让jQuery Mobile不显示讨厌loading界面的方法
Feb 19 #Javascript
javascript动态向网页中添加表格实现代码
Feb 19 #Javascript
javascript实现动态侧边栏代码
Feb 19 #Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 #Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
Feb 19 #Javascript
You might like
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python传递参数方式小结
2015/04/17 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
Python descriptor(描述符)的实现
2020/11/15 Python
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
上海微创软件面试题
2012/06/14 面试题
学习雷锋活动总结
2014/04/29 职场文书
班级体育活动总结
2014/07/05 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
大学生助学金感谢信
2015/01/21 职场文书
2015年技术员工作总结
2015/04/10 职场文书
三方合作意向书范本
2015/05/09 职场文书
感恩教育主题班会
2015/08/12 职场文书
安全生产学习心得体会
2016/01/18 职场文书
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL