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 相关文章推荐
ie下jquery.getJSON的缓存问题的处理方法
Mar 29 Javascript
JavaScript动态创建div属性和样式示例代码
Oct 09 Javascript
Javascript基础知识(一)核心基础语法与事件模型
Sep 29 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 Javascript
微信小程序三级联动选择器使用方法
May 19 Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
layer.open 获取不到表单信息的解决方法
Sep 26 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
JS中箭头函数与this的写法和理解
Jan 14 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
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
python统计函数库scipy.stats的用法解析
2020/02/25 Python
Python文件操作基础流程解析
2020/03/19 Python
python 使用while循环输出*组成的菱形实例
2020/04/12 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
中专生的个人自我评价
2013/12/11 职场文书
勤俭节约倡议书
2014/04/14 职场文书
实验心得体会
2014/09/05 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
公司人事任命通知
2015/04/20 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript