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 相关文章推荐
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 Javascript
javascript实现简易计算器的代码
May 31 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
浅谈super-vuex使用体验
Jun 25 Javascript
Bootstrap Table实现定时刷新数据的方法
Aug 13 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
vue里使用create, mounted调用方法
Apr 26 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
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
Python创建日历实例
2014/08/21 Python
在Python中使用模块的教程
2015/04/27 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
在django中,关于session的通用设置方法
2019/08/06 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
Python装饰器用法与知识点小结
2020/03/09 Python
如何把python项目部署到linux服务器
2020/08/26 Python
金蝶的一道SQL笔试题
2012/12/18 面试题
数据库什么时候应该被重组
2012/11/02 面试题
酒店led欢迎词
2014/01/09 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
自书遗嘱范文
2015/08/07 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
python面向对象版学生信息管理系统
2021/06/24 Python
Python进行区间取值案例讲解
2021/08/02 Python
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js