扫码关注官方订阅号
一个小方块拖拽效果
拖拽
现在问题是如果有多个p小方块该怎么循环实现每个都可以拖拽
怎么改?
欢迎选择我的课程,让我们一起见证您的进步~~
可以试试下面的代码,看看是不是你想要的
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>拖拽</title> <script type="text/javascript"> window.onload=function(){ var oBtn = document.querySelector("#allp"); var dp = oBtn.querySelectorAll("p"); for(var i=0;i<dp.length;i++){ dp[i].onmousedown=function(e){ var oe=e||event; var pCur=document.getElementById(oe.target.id); var w=document.documentElement.clientWidth; var h=document.documentElement.clientHeight; var pX=oe.clientX-pCur.offsetLeft; var pY=oe.clientY-pCur.offsetTop; document.onmousemove=function(e){ var oe=e||event; _left=oe.clientX-pX; _top=oe.clientY-pY; if(_top<0){ _top=0; }else if(_top>h-100){ _top=h-100 } if(_left<0){ _left=0; }else if(_left>w-100){ _left=w-100; } pCur.style.left=_left+'px'; pCur.style.top=_top+'px'; } document.onmouseup=function(){ document.onmousemove=null; document.onmouseup=null; }; oe.preventDefault(); } } } </script> </head> <style type="text/css"> *{ padding:0; margin:0; list-style:none;} #p{ width:100px; height:100px; background:red; position:absolute;} #p1{ width:100px; height:100px; background:green; position:absolute;} #p2{ width:100px; height:100px; background:yellow; position:absolute;} </style> <body id="allp"> <p id="p"></p> <p id="p1"></p> <p id="p2"></p> </body> </html>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以试试下面的代码,看看是不是你想要的