<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
#box {
width: 200px;
height: 100px;
background-color: pink;
position: absolute;
left: 0px;
top: 0px;
}
</style>
</head>
<body>
<div id="box"></div>
<script>
const box=document.getElementById('box');
box.onmousedown=function(event){
console.log('boxOffsetX',event.offsetX);
console.log('boxClientX',event.clientX);
//鼠标基于box的坐标
const boxOffsetX=event.offsetX;
const boxOffsetY=event.offsetY;
document.onmousemove=function(event){
//鼠标基于浏览器的坐标
const mouseX=event.clientX;
const mouseY=event.clientY;
//改变box的top和left
box.style.top=mouseY-boxOffsetY+'px';//记得带单位
box.style.left=mouseX-boxOffsetX+'px';
}
//鼠标抬起来就停止移动,并清除onmousemove的事件绑定
box.onmouseup=function(){
document.onmousemove=null
}
}
</script>
</body>
</html>
JS实现鼠标拖动
最新推荐文章于 2024-08-12 14:11:38 发布