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 相关文章推荐
JavaScript中的集合及效率
Jan 08 Javascript
学习javascript,实现插入排序实现代码
Jul 31 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
chrome原生方法之数组
Nov 30 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
Feb 13 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
Bootstrap模态框调用功能实现方法
Sep 19 Javascript
详解js中==与===的区别
Jan 08 Javascript
jQuery 判断元素整理汇总
Feb 28 Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 Javascript
Vue.js实现价格计算器功能
Mar 30 Javascript
实例讲解Vue.js中router传参
Apr 22 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屏蔽过滤指定关键字的方法
2014/11/03 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
javascript getElementsByClassName函数
2010/04/01 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
python 从list中随机取值的方法
2020/11/16 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
急诊科护士自我鉴定
2013/10/14 职场文书
先进事迹报告会感言
2014/01/24 职场文书
法人授权委托书范本
2014/09/17 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
先进事迹材料范文
2014/12/29 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
基于angular实现树形二级表格
2021/10/16 Javascript