javascript - 多个小方块拖拽如何循环?
天蓬老师
天蓬老师 2017-04-11 11:24:50
[JavaScript讨论组]

一个小方块拖拽效果




    
    拖拽



  

现在问题是如果有多个p小方块该怎么循环实现每个都可以拖拽




    
    拖拽



  

怎么改?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
PHP中文网

可以试试下面的代码,看看是不是你想要的

<!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中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号