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 相关文章推荐
高性能web开发 如何加载JS,JS应该放在什么位置?
May 14 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
jquery编写日期选择器
Mar 16 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
vue中轮训器的使用
Jan 27 Javascript
详解vue使用插槽分发内容slot的用法
Mar 28 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 Javascript
详解Vue3中对VDOM的改进
Apr 23 Javascript
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
PR值查询 | PageRank 查询
2006/12/20 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
Python中函数的用法实例教程
2014/09/08 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python缓存技术实现过程详解
2019/09/25 Python
python实现超级马里奥
2020/03/18 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
数控专业推荐信范文
2013/12/02 职场文书
岗位明星事迹材料
2014/05/18 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
如何正确理解python装饰器
2021/06/15 Python
Python使用MapReduce进行简单的销售统计
2022/04/22 Python