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 相关文章推荐
Add a Formatted Table to a Word Document
Jun 15 Javascript
JavaScript 利用Cookie记录用户登录信息
Dec 08 Javascript
jQuery.clean使用方法及思路分析
Jan 07 Javascript
纯JS实现根据CSS的class选择DOM
Mar 22 Javascript
JS取得绝对路径的实现代码
Jan 16 Javascript
Bootstrap实现响应式导航栏效果
Dec 28 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 Javascript
js实现二级导航功能
Mar 03 Javascript
input 标签实现输入框带提示文字效果(两种方法)
Oct 09 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
element-ui表格列金额显示两位小数的方法
Aug 24 Javascript
Echarts实现多条折线可拖拽效果
Dec 19 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 编程的 5个良好习惯
2009/02/20 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
php动态函数调用方法
2015/05/21 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
详解Vue方法与事件
2017/03/09 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
python处理文本文件并生成指定格式的文件
2014/07/31 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
python中for用来遍历range函数的方法
2018/06/08 Python
python 不以科学计数法输出的方法
2018/07/16 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
Python如何实现的二分查找算法
2020/05/27 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
班组长工作职责
2013/12/25 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
补充协议书
2015/01/28 职场文书
社区环境卫生倡议书
2015/04/29 职场文书