<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
#box {
width: 100px;
height: 100px;
background-color: #ccc;
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div id="box"></div>
<script>
var box = document.getElementById("box");
box.onmousedown = function (event) {
var e = event || window.event;
// 获取鼠标位置
var x1 = e.clientX;
var y1 = e.clientY;
// 获取元素当前位置
var boxLeft = box.offsetLeft;
var boxTop = box.offsetTop;
document.onmousemove = function (event) {
var e = event || window.event;
// 获取鼠标在当前事件下的位置
var x2 = e.clientX;
var y2 = e.clientY;
// 计算鼠标移动差值
var LessX = x2 - x1;
var LessY = y2 - y1;
// 设置box位置
box.style.left = boxLeft + LessX + "px";
box.style.top = boxTop + LessY + "px";
}
}
box.onmouseup = function () {
// 清除移动事件
document.onmousemove = null;
}
</script>
</body>
</html>
网友评论