鼠标拖拽定位和DOM各种尺寸详解

时间:2023-03-09 07:43:04
鼠标拖拽定位和DOM各种尺寸详解
 <!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>鼠标拖拽定位元素</title>
<style>
#box {
width: 100px;
height: 100px;
background-color: aquamarine;
position: absolute;
}
</style>
</head> <body>
<div id="box"></div>
<script type="text/javascript">
var oDiv = document.getElementById("box");
oDiv.onmousedown = function(ev) {
var oEvent = ev;
var disX = oEvent.clientX - oDiv.offsetLeft;
var disY = oEvent.clientY - oDiv.offsetTop;
document.onmousemove = function(ev) {
oEvent = ev;
oDiv.style.left = oEvent.clientX - disX + "px";
oDiv.style.top = oEvent.clientY - disY + "px";
}
document.onmouseup = function() {
document.onmousemove = null;
document.onmouseup = null;
}
}
</script>
</body> </html>

原理:根据 absolute 定位结合鼠标事件实现对元素的拖动定位。

DOM元素各种尺寸和窗口的各种尺寸详解:详见下图

鼠标拖拽定位和DOM各种尺寸详解