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 相关文章推荐
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
May 09 Javascript
jQuery实现密保互斥问题解决方案
Aug 16 Javascript
使用正则表达式的格式化与高亮显示json字符串
Dec 03 Javascript
JavaScript跨平台的开源框架NativeScript
Mar 24 Javascript
javascript动态添加删除tabs标签的方法
Jul 06 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
Aug 10 Javascript
Bootstrap创建可折叠的组件
Feb 23 Javascript
微信公众号支付H5调用支付解析
Nov 04 Javascript
深入理解 JavaScript 中的 JSON
Apr 06 Javascript
JS监听事件的叠加和移除功能
Nov 19 Javascript
微信小程序的tab选项卡的实现效果
May 15 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语法小结之基础和变量
2015/11/22 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
一段实时更新的时间代码
2006/07/07 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
Vue脚手架的简单使用实例
2018/07/10 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
JS实现吸顶特效
2020/01/08 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python PyQt5整理介绍
2020/04/01 Python
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
测试驱动开发的主要步骤是什么
2014/12/10 面试题
英语专业毕业生自荐信范文
2013/12/31 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS