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 GridView 实现自动计算操作代码
Mar 25 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
详解js中class的多种函数封装方法
Jan 03 Javascript
Javascript中神奇的this
Jan 20 Javascript
早该知道的7个JavaScript技巧
Jun 21 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
Jul 09 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
Oct 13 Javascript
BootStrap的两种模态框方式
May 10 Javascript
vue 实现数字滚动增加效果的实例代码
Jul 06 Javascript
Angular6新特性之Angular Material
Dec 28 Javascript
详解vue-cli3 中跨域解决方案
Apr 10 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 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
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
php获取字段名示例分享
2014/03/03 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
javascript的函数
2007/01/31 Javascript
JQuery live函数
2010/12/24 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
Python 文件和输入输出小结
2013/10/09 Python
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
绿色城市实施方案
2014/03/19 职场文书
超市活动计划书
2014/04/24 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
大学毕业生自我评价
2015/03/02 职场文书
中秋节随笔
2015/08/15 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
php实例化对象的实例方法
2021/11/17 PHP