jquery方法+js一般方法+js面向对象方法实现拖拽效果


Posted in Javascript onAugust 30, 2012
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=GBK" /> 
<title>拖拽</title> 
<script type="text/javascript" src="http://demo.3water.com/jslib/jquery/jquery.js"></script> 
<style type="text/css"> 
*{margin: 0;padding: 0;} 
#drag{background: #ccc;height: 200px;width: 300px;text-align: center;line-height: 200px;position: absolute;left: 20px;top: 20px;} 
</style> 
<body> 
<div id="drag"> 
我可以拖动哦!! 
</div> 
<script type="text/javascript"> 
//jquery方法拖拽 
/**$(function(){ 
var move = false; //判断是否被移动 
var a = 0; 
var b = 0; 
$("#drag").mousedown(function(event){ 
move = true; 
a = event.pageX - parseInt($("#drag").css("left")); 
b = event.pageY - parseInt($("#drag").css("top")); 
}) 
$(document).mousemove(function(event){ 
if(move){ 
var x = event.pageX - a; 
var y = event.pageY - b; 
$("#drag").css({left: x,top: y}) 
} 
}).mouseup(function(){ 
move = false; 
}) 
})**/ 
//简单的js一般方法 
/**var drag = document.getElementById("drag"); 
var a = 0; 
var b = 0; 
drag.onmousedown = function(event){ 
var event = event||window.event; 
a = event.clientX-drag.offsetLeft; 
b = event.clientY-drag.offsetTop; 
drag.onmousemove = function(event){ 
var event = event||window.event; 
var x = event.clientX - a; 
var y = event.clientY - b; 
drag.style.left = x + "px"; 
drag.style.top = y + "px"; 
} 
document.onmouseup=function(){ 
drag.onmousemove = null; 
drag.onmouseup = null; 
} 
}**/ 
//js面向对象方法 
function Drag(obj){ 
this.drag = document.getElementById(obj); 
//alert(obj); 
this.a = 0; 
this.b = 0; 
var that = this; 
this.drag.onmousedown = function(event){ 
that.mousedown(event); 
} 
} 
Drag.prototype.mousedown = function(event){ 
var event = event||window.event; 
this.a = event.clientX-this.drag.offsetLeft; 
this.b = event.clientY-this.drag.offsetTop; 
var that = this; 
document.onmousemove=function(event){ 
that.mousemove(event) 
} 
document.onmouseup=function(){ 
that.mouseup() 
} 
} 
Drag.prototype.mousemove = function(event){ 
var event = event||window.event; 
var x = event.clientX - this.a; 
var y = event.clientY - this.b; 
this.drag.style.left = x + "px"; 
this.drag.style.top = y + "px"; 
} 
Drag.prototype.mouseup=function(){ 
document.onmousemove = null; 
document.onmouseup = null; 
} 
new Drag("drag"); 
</script> 
</body> 
</html>
Javascript 相关文章推荐
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 Javascript
jquery写个checkbox——类似邮箱全选功能
Mar 19 Javascript
浅析JavaScript原型继承的陷阱
Dec 03 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
Extjs根据条件设置表格某行背景色示例
Jul 23 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
BootStrap fileinput.js文件上传组件实例代码
Feb 20 Javascript
使用Node.js实现RESTful API的示例
Aug 01 Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
JavaScript console的使用方法实例分析
Apr 28 Javascript
Vue的生命周期一起来看看
Feb 24 Vue.js
JS跨域代码片段
Aug 30 #Javascript
JS跨域总结
Aug 30 #Javascript
js中判断Object、Array、Function等引用类型对象是否相等
Aug 29 #Javascript
xml转json的js代码
Aug 28 #Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
Aug 28 #Javascript
javascript 判断中文字符长度的函数代码
Aug 27 #Javascript
Jquery 数据选择插件Pickerbox使用介绍
Aug 24 #Javascript
You might like
PHP4实际应用经验篇(2)
2006/10/09 PHP
Smarty模板快速入门
2007/01/04 PHP
php获取域名的google收录示例
2014/03/24 PHP
php实现的CSS更新类实例
2014/09/22 PHP
ucenter通信原理分析
2015/01/09 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
js面向对象编程总结
2017/02/16 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
Python实现把回车符\r\n转换成\n
2015/04/23 Python
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
python进行TCP端口扫描的实现
2018/12/21 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
Python能做什么
2020/06/02 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
店长岗位职责
2013/11/21 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
教育学习自我评价
2014/02/03 职场文书
上课打牌的检讨书
2014/02/15 职场文书
开业典礼主持词
2014/03/21 职场文书
市场营销策划方案
2014/06/11 职场文书
工作作风建设心得体会
2014/10/22 职场文书
应届生简历自我评价
2015/03/11 职场文书
小学家长意见怎么写
2015/06/03 职场文书
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis