代码如下
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
background: pink;
position: relative;
top: 10px;
left: 10px;
}
</style>
</head>
<body>
<div>me</div>
<script>
var div=document.querySelector("div");
var offsetX,offsetY; //定义全局变量用于接收鼠标坐标的变量
div.addEventListener("mousedown",mouseHandler);
function mouseHandler(e){ //事件的执行函数自带参数e
if(e.type==="mousedown"){ //e.type是执行事件的类型
offsetX=e.offsetX;
offsetY=e.offsetY;
document.addEventListener("mousemove",mouseHandler)
document.addEventListener("mouseup",mouseHandler) //如果有鼠标移动或松开事件的发生再次执行mouseHandler函数
}else if(e.type==="mousemove"){
div.style.left=e.clientX-offsetX+"px"; //鼠标相对当前可视窗口的坐标 - 相对元素左上角的坐标
div.style.top=e.clientY-offsetY+"px";
}else if(e.type==="mouseup"){
document.removeEventListener("mousemove",mouseHandler);
document.removeEventListener("mouseup",mouseHandler); //删除鼠标移动和鼠标松开事件
}
}
</script>
</body>
</html>
注意:div元素要设置定位才可以进行移动。
广州vi设计http://www.maiqicn.com 办公资源网站大全https://www.wode007.com