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 相关文章推荐
用JQuery 实现的自定义对话框
Mar 24 Javascript
浅谈js中的闭包
Mar 16 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
Apr 15 Javascript
js实现大转盘抽奖游戏实例
Jun 24 Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 Javascript
JavaScript中splice与slice的区别
May 09 Javascript
node.js 中间件express-session使用详解
May 20 Javascript
通过构造函数实例化对象的方法
Jun 28 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
AngularJS 仿微信图片手势缩放的实例
Sep 28 Javascript
简易Vue评论框架的实现(父组件的实现)
Jan 08 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 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
php下连接mssql2005的代码
2011/01/17 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
纯JS实现轮播图
2017/02/22 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
sklearn的predict_proba使用说明
2020/06/28 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
英国床垫在线:Mattress Online
2016/12/07 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
班级德育工作实施方案
2014/02/21 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
党委工作总结2015
2015/04/27 职场文书
企业财务管理制度范本
2015/08/04 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
JavaScript分页组件使用方法详解
2021/07/26 Javascript
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers