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 相关文章推荐
两个select之间option的互相添加操作(jquery实现)
Nov 12 Javascript
Extjs4中的分页应用结合前后台
Dec 13 Javascript
node.js中的fs.ftruncate方法使用说明
Dec 15 Javascript
DOM操作一些常用的属性汇总
Mar 13 Javascript
JavaScript模拟实现键盘打字效果
Jun 29 Javascript
基于javascript实现样式清新图片轮播特效
Mar 30 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
Feb 27 Javascript
使用FormData实现上传多个文件
Dec 04 Javascript
vue路由传参的基本实现方式小结【三种方式】
Feb 05 Javascript
Vue中使用better-scroll实现轮播图组件
Mar 07 Javascript
如何管理Vue中的缓存页面
Feb 06 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
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
js实现密码强度检验
2017/01/15 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
Python 随机生成中文验证码的实例代码
2013/03/20 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python实现Linux中的du命令
2017/06/12 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
python打包多类型文件的操作方法
2020/09/21 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
中学教师培训制度
2014/01/31 职场文书
财产公证书样本
2014/04/04 职场文书
付款委托书范本
2014/10/05 职场文书
2015年电教工作总结
2015/05/26 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
JavaScript 对象创建的3种方法
2021/11/17 Javascript
Tomcat用户管理的优化配置详解
2022/03/31 Servers
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL