jquery简单的拖动效果实现原理及示例


Posted in Javascript onJuly 26, 2013
<!DOCTYPE html> 
<html> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>简单拖?鲈?硎道?lt;/title> 
<style type="text/css"> 
#drag{width:400px;height:300px;background:url(http://upload.yxgz.cn/uploadfile/2009/0513/20090513052611873.jpg);cursor:move;position:absolute;top:100px;left:100px;border:solid 1px #ccc;} 
h2{color:#fff;background: none repeat scroll 0 0 rgba(16, 90, 31, 0.7);color:#FFFFFF;height:40px;line-height:40px;margin:0;} 
</style> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function(){ 
/*--------------拖曳效果---------------- 
*原理:标记拖曳状态dragging ,坐标位置iX, iY 
* mousedown:fn(){dragging = true, 记录起始坐标位置,设置鼠标捕获} 
* mouseover:fn(){判断如果dragging = true, 则当前坐标位置 - 记录起始坐标位置,绝对定位的元素获得差值} 
* mouseup:fn(){dragging = false, 释放鼠标捕获,防止冒泡} 
*/ 
var dragging = false; 
var iX, iY; 
$("#drag").mousedown(function(e) { 
dragging = true; 
iX = e.clientX - this.offsetLeft; 
iY = e.clientY - this.offsetTop; 
this.setCapture && this.setCapture(); 
return false; 
}); 
document.onmousemove = function(e) { 
if (dragging) { 
var e = e || window.event; 
var oX = e.clientX - iX; 
var oY = e.clientY - iY; 
$("#drag").css({"left":oX + "px", "top":oY + "px"}); 
return false; 
} 
}; 
$(document).mouseup(function(e) { 
dragging = false; 
$("#drag")[0].releaseCapture(); 
e.cancelBubble = true; 
}) }) 
</script> 
</head> 
<body> 
<div id="drag"> 
<h2>来拖动我啊</h2> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
JSON.stringify 语法实例讲解
Mar 14 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
JS的数组迭代方法
Feb 05 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
Angular JS数据的双向绑定详解及实例
Dec 31 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
vue滚动插件better-scroll使用详解
Oct 18 Javascript
在博客园博文中添加自定义右键菜单的方法详解
Feb 05 Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 Javascript
js监听键盘事件示例代码
Jul 26 #Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
Jul 25 #Javascript
固定表格行列(expression)在IE下适用
Jul 25 #Javascript
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 #Javascript
不使用浏览器运行javascript代码的方法
Jul 24 #Javascript
js展开闭合效果演示代码
Jul 24 #Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 #Javascript
You might like
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
PHP session 会话处理函数
2016/06/06 PHP
Laravel日志用法详解
2016/10/09 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
JS无限树状列表实现代码
2011/01/11 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python如何进行时间处理
2020/08/06 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
传播学毕业生求职信
2013/10/11 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
小区文明倡议书
2014/05/16 职场文书
故宫的导游词
2015/01/31 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
单位综合评价意见
2015/06/05 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android