<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#div{
width: 100px;
height: 100px;
background: red;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div id="div"></div>
<script>
function fn() {
this.div = document.getElementById('div');
this.init();
}
fn.prototype.init = function () {
var _this = this;
this.div.addEventListener("mousedown", fnDown);
function fnDown(e) {
_this.dirX = e.pageX - this.offsetLeft;
_this.dirY = e.pageY - this.offsetTop;
document.onmousemove = function (e) {
_this.fnMove(e);
}
document.onmouseup = function () {
_this.fnUp();
}
}
}
fn.prototype.fnMove = function (e) {
var _this = this;
_this.div.style.left = e.pageX - _this.dirX + 'px';
_this.div.style.top = e.pageY - _this.dirY + 'px';
};
fn.prototype.fnUp = function () {
document.onmousemove = document.onmouseup = null;
};
var fn1 = new fn();
</script>
</body>
</html>