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 相关文章推荐
网页自动刷新,不产生嗒嗒声的一个解决方法
Mar 27 Javascript
js checkbox(复选框) 使用集锦
Apr 28 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
javascript比较语义化版本号的实现代码
Sep 09 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 jQuery
详解vue使用vue-layer-mobile组件实现toast,loading效果
Aug 31 Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
React 源码中的依赖注入方法
Nov 07 Javascript
浅谈vue.use()方法从源码到使用
May 12 Javascript
详解小程序横屏方案对比
Jun 28 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分页类
2013/10/26 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
jquery图片放大功能简单实现
2013/08/01 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
python3实现字符串操作的实例代码
2019/04/16 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
几个Linux面试题笔试题
2016/08/01 面试题
公司市场专员岗位职责
2014/06/29 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
硕士论文致谢范文
2015/05/14 职场文书
庆祝教师节主持词
2015/07/06 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
求职信如何撰写?
2019/05/22 职场文书
MySQL的Query Cache图文详解
2021/07/01 MySQL