思路是:
1.鼠标在被拖动元素(item)按下时,sign=true,并且获取鼠标初始位置和元素初始位置;
2.鼠标在item抬起时,sign=false
3.鼠标在item移动时,如果sign==true时接着执行;根据鼠标当前位置减去鼠标初始位置,获得位置差;改变元素位置为初始位置加上位置差;
然后就出现了一个问题,慢移动没有问题,快速移动时鼠标跑出元素???
代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.box{
position: relative;
height: 500px;
}
.item{
position: absolute;
width: 50px;
height: 50px;
background-color: green;
color: #000;
user-select: none;
cursor: pointer;
}
</style>
</head>
<body>
<div class="box">
<div class="item">