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 相关文章推荐
javascript中获取下个月一号,是星期几
Jun 01 Javascript
javascript中的toFixed固定小数位数 简单实例分享
Jul 12 Javascript
Javascript学习笔记之数组的构造函数
Nov 23 Javascript
JavaScript运算符小结
Jun 03 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
Aug 24 Javascript
解决ionic和angular上拉加载的问题
Aug 03 Javascript
setTimeout时间设置为0详细解析
Mar 13 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
vue多层嵌套路由实例分析
Mar 19 Javascript
vue store之状态管理模式的详细介绍
Jun 13 Javascript
浅析我对JS延迟异步脚本的思考
Oct 12 Javascript
JS实现页面侧边栏效果探究
Jan 08 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
PHP中实现进程间通讯
2006/10/09 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python使用gensim计算文档相似性
2016/04/10 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
深入理解Python3中的http.client模块
2017/03/29 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
中间件分为哪几类
2012/03/14 面试题
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
机械工程系毕业生求职信
2013/09/27 职场文书
工地资料员岗位职责
2013/12/31 职场文书
博士生导师推荐信
2014/07/08 职场文书
捐款活动总结
2014/08/27 职场文书
学生党员检讨书范文
2014/12/27 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
护士旷工检讨书
2015/08/15 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
Pygame Time时间控制的具体使用详解
2021/11/17 Python
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers
mysql全面解析json/数组
2022/07/07 MySQL