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 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
表单提交验证类
Jul 14 Javascript
Javascript中的this绑定介绍
Sep 22 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
jQuery实现tab标签自动切换的方法
Feb 28 Javascript
JQuery CheckBox(复选框)操作方法汇总
Apr 15 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 Javascript
根据Bootstrap Paginator改写的js分页插件
Dec 25 Javascript
详解Vue-基本标签和自定义控件
Mar 24 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 15 Javascript
JavaScript实现前端网页版倒计时
Mar 24 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
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
AngularJS内置指令
2015/02/04 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
jQuery绑定事件的几种实现方式
2016/05/09 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
React Native react-navigation 导航使用详解
2017/12/01 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
python搜索指定目录的方法
2015/04/29 Python
Python中使用ElementTree解析XML示例
2015/06/02 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
keras K.function获取某层的输出操作
2020/06/29 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
人力资源管理毕业生自荐信
2013/11/21 职场文书
项目总经理岗位职责
2014/02/14 职场文书
团队队名口号大全
2014/06/06 职场文书