鼠标拖拽案例

鼠标拖拽跟随移动原理:第一次点击拖拽区域时记录X,Y的值,移动时鼠标相对第一次的差值既为盒子移动的距离,鼠标松开时清除移动效果。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div{
width: 200px;
height: 100px;
background: pink;
position: absolute;
}
span{
display:inline-block;
height: 30px;
width: 200px;
background: red;
cursor: pointer;
text-align: center;
line-height: 30px;
}
</style>
</head>
<body>
<div><span>点击拖动</span></div>
<script>
var div=document.getElementsByTagName('div')[0];
var span=div.firstElementChild;
span.onmousedown=function(event){
event=event||window.event;
//记录鼠标在拖到区域点击的X,Y值
var x=event.pageX-div.offsetLeft;   
var y=event.pageY-div.offsetTop;
document.onmousemove=function(event){
event=event||window.event;
//记录鼠标拖动时X,Y值
var xx=event.pageX;
var yy=event.pageY;
var moveLeft=xx-x;
var moveTop=yy-y;
//鼠标拖到时的值与第一次点击的差值即为盒子移动距离
div.style.left=moveLeft+"px";
div.style.top=moveTop+"px";
}	
}
document.onmouseup=function(){
document.onmousemove=null;
}
</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/miraiiiiiii/article/details/81008326