js实现拖动效果


实现这个功能主要是配合鼠标的mouse事件,拖动原理如下图(以横向x坐标为例,y轴原理是一样的):

html代码:

 <div id="box"></div>

CSS代码:

#box {
      position: absolute;
      width: 100px;
      height: 100px;
      top: 10px;
      left: 10px;
      background: red;
}

javaScript代码:

 let box = document.getElementById('box');
    document.onmousedown = function (e) {
      let disx = e.pageX - box.offsetLeft;
      let disy = e.pageY - box.offsetTop;
      document.onmousemove = function (e) {
        box.style.left = e.pageX - disx + 'px';
        box.style.top = e.pageY - disy + 'px';
      }
    //释放鼠标按钮,将事件清空,否则始终会跟着鼠标移动
      document.onmouseup = function () {
        document.onmousemove = document.onmouseup = null;
      }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM