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 相关文章推荐
索趣科技的答案
Feb 07 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
Jul 19 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
javascript消除window.close()的提示窗口
May 20 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
Vue.js 十五分钟入门图文教程
Sep 12 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
Apr 30 Javascript
Vue组件实现触底判断
Jun 26 Javascript
d3.js实现图形拖拽
Dec 19 Javascript
vue中使用echarts的示例
Jan 03 Vue.js
js之ajax文件上传
May 13 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
短波的认识
2021/03/01 无线电
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP数据类型的总结分析
2013/06/13 PHP
Yii框架form表单用法实例
2014/12/04 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
Python松散正则表达式用法分析
2016/04/29 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
Linux下python3.7.0安装教程
2018/07/30 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Python 如何批量更新已安装的库
2020/05/26 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
费用会计岗位职责
2014/01/01 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
《将心比心》教学反思
2014/04/08 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
离婚协议书范文2016
2016/03/18 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书