0
点赞
收藏
分享

微信扫一扫

javaScript 拖拽效果

晒大太阳了 2022-04-13 阅读 96

css:
div{
width: 100px;
height: 100px;
background-color: red;
position: absolute;
top: 0;
left: 0;

    }

设置一个div元素

<div></div>

js代码:

var box = document.querySelector('div')     先获取div元素

    // 按下时,给div元素设置时间
    box.onmousedown = function(event){   
        var e = event || window.event;
        var x =e. offsetX  // 获取鼠标在元素内的x坐标
        var y = e.offsetY  // 获取鼠标在元素内的y坐标

        // 移动时
        document.onmousemove = function(event){   
            var e = event || window.event;
            var left = e.clientX - x  //获取鼠标在浏览器上的x坐标值 - 鼠标在元素内的x坐标值
            var top = e.clientY - y    // 获取鼠标在浏览器上的y坐标值 - 鼠标在元素内的y坐标值

            box.style.left = left + 'px'  // 给元素添加x坐标值
            box.style.top = top + 'px'     // 给元素添加y坐标值


        }

        // 松开时
        box.onmouseup = function(){
            document.onmousemove = null;  // 让移动事件为空
        }
    }
举报

相关推荐

0 条评论