您的位置:首页 > 运维架构

面向对象的拖拽

2017-03-21 22:24 127 查看
<!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=gb2312" />
<title>无标题文档</title>
<style>
#box{width:100px;height:100px;background:red;position:absolute;}
</style>
<script>

window.onload = function () {

var d1 = new Drag('box');
d1.init();

}
function Drag(id) {

this.oBox = document.getElementById(id);
this.disX = 0;
this.disY = 0;

}
Drag.prototype.init = function() {
var _this = this;
this.oBox.onmousedown = function (ev) {
var ev = ev || window.event;
_this.fnDown(ev);

return false;
};
}
Drag.prototype.fnDown = function (ev) {

this.disX = ev.clientX - this.oBox.offsetLeft;
this.disY = ev.clientY - this.oBox.offsetTop;
var _this = this;

document.onmousemove = function (ev){
var ev = ev || window.event;
_this.fnMove(ev);
};

document.onmouseup = function () {
_this.fnUp();
};

}

Drag.prototype.fnMove = function (ev) {

this.oBox.style.left = ev.clientX - this.disX + 'px';
this.oBox.style.top = ev.clientY - this.disY + 'px';

}
Drag.prototype.fnUp = function () {
document.onmousemove = document.onmousedown = null;
}
</script>
</head>

<body>
<div id="box"></div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象 OOP 拖拽