js实现鼠标拖动功能
程序员文章站
2023-11-10 20:37:22
效果图:
代码如下:
效果图:
代码如下:
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #div{ width: 200px; height: 200px; background: green; position: absolute; } #div2{ width: 200px; height: 200px; background: gold; position: absolute; top: 200px; left: 200px; } </style> </head> <body> <div id="div"> </div> <div id="div2"></div> <script> window.onload=function(){ var div=document.getelementbyid("div"); div.onmousedown=function(ev){ var e=window.event || ev; //var mydiv=document.getelementbyid("div"); //获取到鼠标点击的位置距离div左侧和顶部边框的距离; var ox=e.clientx-div.offsetleft; var oy=e.clienty-div.offsettop; //当鼠标移动,把鼠标的偏移量付给div document.onmousemove=function(ev){ //计算出鼠标在xy方向上移动的偏移量,把这个偏移量加给div的左边距和上边距,div就会跟着移动 var e=window.event|| ev; div.style.left=e.clientx-ox+"px"; div.style.top=e.clienty-oy+"px"; } //当鼠标按键抬起,清除移动事件 document.onmouseup=function(){ document.onmousemove=null; document.onmouseup=null; } } var div2=document.getelementbyid("div2"); div2.onmousedown=function(ev){ var e=window.event || ev; //var mydiv=document.getelementbyid("div"); //获取到鼠标点击的位置距离div左侧和顶部边框的距离; var ox=e.clientx-div2.offsetleft; var oy=e.clienty-div2.offsettop; //当鼠标移动,把鼠标的偏移量付给div document.onmousemove=function(ev){ //计算出鼠标在xy方向上移动的偏移量,把这个偏移量加给div的左边距和上边距,div就会跟着移动 var e=window.event|| ev; div2.style.left=e.clientx-ox+"px"; div2.style.top=e.clienty-oy+"px"; } //当鼠标按键抬起,清除移动事件 document.onmouseup=function(){ document.onmousemove=null; document.onmouseup=null; } } } </script> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!