jquery方法+js一般方法+js面向对象方法实现拖拽效果
jquery方法+js一般方法+js面向对象方法实现拖拽效果
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:拖拽*{margin:0;padding:0;}#drag{background:#ccc;height:200px;wi...

复制代码 代码如下:

<!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.jb51.net/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教程学习
编程开发子分类