实现思路:
- 鼠标按下开始拖拽
- 记录摁下鼠标时的鼠标位置以及元素位置
- 拖动鼠标记下当前鼠标的位置
- 鼠标当前位置-摁下时鼠标位置= 鼠标移动距离
- 元素位置= 鼠标移动距离+鼠标摁下时元素的位置
代码:
web前端开发学习Q-q-u-n: 767273102 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频)
class Drag {
//构造函数
constructor(el) {
this.el = el;
//鼠标摁下时的元素位置
this.startOffset = {};
//鼠标摁下时的鼠标位置
this.startPoint = {};
let move = (e) => {
this.move(e);
};
let end = (e) => {
document.removeEventListener("mousemove", move);
document.removeEventListener("mouseup", end);
};
el.addEventListener("mousedown", (e) => {
this.start(e);
document.addEventListener("mousemove", move);
document.addEventListener("mouseup&