拖拽的简单实现

2018-04-27  本文已影响0人  YXCoder

前言:年初换工作,换住处弄了好长一段时间,终于全部搞定了,好久没写博客了,今天小更新一下,以示存在 ~.~


话不多说,上代码

<html><div class='div'></div></html>
*{
    margin: 0;
    padding: 0;
}
.div{
    position: relative;
    left: 100px;
    top: 100px;
    background-color: blue;
    width: 150px;
    height: 150px;
    cursor: pointer;
}
var div = document.querySelector('.div');
var mouseX = 0;
var mouseY = 0;
function move(e){
    var box = div.getBoundingClientRect();
    var boxLeft = box.left;
    var boxTop = box.top;
    var temMouseX = e.clientX;
    var temMouseY = e.clientY;
    var moveX = temMouseX - mouseX;
    var moveY = temMouseY - mouseY;
    div.style.left = boxLeft + moveX + 'px';
    div.style.top = boxTop + moveY+'px';
    mouseX = e.clientX;
    mouseY = e.clientY;
}
div.addEventListener('mousedown', function(e){
    div.style.position = 'absolute';
    mouseX = e.clientX;
    mouseY = e.clientY;
    document.addEventListener('mousemove', move);
})
document.addEventListener('mouseup', function(e){
    document.removeEventListener('mousemove', move);
    div.style.position = 'relative';
})

效果如下:


aaa.gif

有几点值得注意的地方:

上一篇 下一篇

猜你喜欢

热点阅读