onmousemove事件如何用于拖拽功能

avatar
作者
猴君
阅读量:3

可以通过onmousemove事件来实现拖拽功能,具体步骤如下:

  1. 给需要被拖拽的元素绑定onmousedown事件,当鼠标按下时触发一个函数;
  2. 在这个函数中,获取鼠标按下时的位置,同时给document绑定onmousemove和onmouseup事件;
  3. 在onmousemove事件中,计算鼠标移动的距离,并将被拖拽的元素相应地移动;
  4. 在onmouseup事件中,解绑document的onmousemove和onmouseup事件,结束拖拽操作。

示例代码如下:

<!DOCTYPE html> <html> <head> <style> #drag {   width: 100px;   height: 100px;   background-color: red;   position: absolute; } </style> </head> <body>  <div id="drag" onmousedown="drag(event)"></div>  <script> function drag(event) {   var dragElement = document.getElementById("drag");   var startX = event.clientX - dragElement.offsetLeft;   var startY = event.clientY - dragElement.offsetTop;    document.onmousemove = function(event) {     var newX = event.clientX - startX;     var newY = event.clientY - startY;      dragElement.style.left = newX + "px";     dragElement.style.top = newY + "px";   };    document.onmouseup = function() {     document.onmousemove = null;     document.onmouseup = null;   }; } </script>  </body> </html> 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!