html5教程-HTML5拖放实现逻辑及代码讲解

发布时间:2018-12-12 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了html5教程-HTML5拖放实现逻辑及代码讲解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

1.拖放实现逻辑

开始拖动 ===> 拖动中 ===> 拖动结束(放手)

ondragstart ===> ondragover ===> ondrop

ondragstart 绑定在需要被拖动的dom上

ondragover和ondrop绑定在接受被拖动dom进入的dom上

2.实例

单个dom的拖动

 <!DOCTYPE html> <html> <head>     <title>drag</title>     <style type="text/css">         .wrapper{             width: 400px;             height: 200px;             padding: 10px;             border: 1px solid red;         }         .wrapper img{             width: 100%;             height: 100%;         }     </style> </head> <body>     <p class="wrapper" ondragover="dragOver(event)" ondrop="dragDrop(event)">         <img id="dragImg" src="./login.jpg" draggable="true" ondragstart="dragStart(event)">     </p>      <p class="wrapper" ondragover="dragOver(event)" ondrop="dragDrop(event)">      </p> </body> <script type="text/javascript">     function dragStart (event) {         event.dataTransfer.setData('Text', event.target.id);     }     function dragOver(event) {         event.preventDefault();     }     function dragDrop(event) {         event.preventDefault();         var data = event.dataTransfer.getData('Text');         event.target.appendChild(document.querySelector('#'+data));     } </script> </html>

多个dom的拖动

 <!DOCTYPE html> <html> <head>     <meta charset="utf-8">     <title>dragList</title>     <style type="text/css">         #left{             float: left;             border: 1px solid red;         }         #right{             float: right;             border: 1px solid blue;         }         #left,#right{             width: 300px;             min-height: 400px;         }         .images img{             max-width: 260px;             max-height: 300px;         }     </style> </head> <body>     <ul id="left">         <li id="img1" class="images" draggable="true"><img src="login.jpg"></li>         <li id="img2" class="images" draggable="true"><img src="loginu.png"></li>         <li id="img3" class="images" draggable="true"><img src="反馈.png"></li>     </ul>      <ul id="right">         <li id="img4" class="images" draggable="true"><img src="日落.png"></li>         <li id="img5" class="images" draggable="true"><img src="等待.png"></li>         <li id="img6" class="images" draggable="true"><img src="规则.png"></li>     </ul> </body> <script type="text/javascript">     window.onload = function () {         function myPreventDefault(event) {             if(event.preventDefault) {                 event.preventDefault();             }else {                 event.returnValue = false;             }         }         function myDragOver (event) {             myPreventDefault(event);         }          function myDragDrop (event) {             myPreventDefault(event);             var data = event.dataTransfer.getData('Text');             console.log(data);             event.target.appendChild(document.getElementById(data));         }         function myDragStart(event) {             event.dataTransfer.setData('Text', event.target.id);         }           var nodeList = document.querySelectorAll('.images');         for (var i = 0; i < nodeList.length; i++) {             nodeList[i].addEventListener('dragstart',myDragStart);           }         document.getElementById('right').addEventListener('dragover', myDragOver);         document.getElementById('right').addEventListener('drop', myDragDrop);          document.getElementById('left').addEventListener('dragover', myDragOver);         document.getElementById('left').addEventListener('drop', myDragDrop);      } </script> </html>

1.拖放实现逻辑

开始拖动 ===> 拖动中 ===> 拖动结束(放手)

ondragstart ===> ondragover ===> ondrop

ondragstart 绑定在需要被拖动的dom上

ondragover和ondrop绑定在接受被拖动dom进入的dom上

2.实例

单个dom的拖动

 <!DOCTYPE html> <html> <head>     <title>drag</title>     <style type="text/css">         .wrapper{             width: 400px;             height: 200px;             padding: 10px;             border: 1px solid red;         }         .wrapper img{             width: 100%;             height: 100%;         }     </style> </head> <body>     <p class="wrapper" ondragover="dragOver(event)" ondrop="dragDrop(event)">         <img id="dragImg" src="./login.jpg" draggable="true" ondragstart="dragStart(event)">     </p>      <p class="wrapper" ondragover="dragOver(event)" ondrop="dragDrop(event)">      </p> </body> <script type="text/javascript">     function dragStart (event) {         event.dataTransfer.setData('Text', event.target.id);     }     function dragOver(event) {         event.preventDefault();     }     function dragDrop(event) {         event.preventDefault();         var data = event.dataTransfer.getData('Text');         event.target.appendChild(document.querySelector('#'+data));     } </script> </html>

多个dom的拖动

 <!DOCTYPE html> <html> <head>     <meta charset="utf-8">     <title>dragList</title>     <style type="text/css">         #left{             float: left;             border: 1px solid red;         }         #right{             float: right;             border: 1px solid blue;         }         #left,#right{             width: 300px;             min-height: 400px;         }         .images img{             max-width: 260px;             max-height: 300px;         }     </style> </head> <body>     <ul id="left">         <li id="img1" class="images" draggable="true"><img src="login.jpg"></li>         <li id="img2" class="images" draggable="true"><img src="loginu.png"></li>         <li id="img3" class="images" draggable="true"><img src="反馈.png"></li>     </ul>      <ul id="right">         <li id="img4" class="images" draggable="true"><img src="日落.png"></li>         <li id="img5" class="images" draggable="true"><img src="等待.png"></li>         <li id="img6" class="images" draggable="true"><img src="规则.png"></li>     </ul> </body> <script type="text/javascript">     window.onload = function () {         function myPreventDefault(event) {             if(event.preventDefault) {                 event.preventDefault();             }else {                 event.returnValue = false;             }         }         function myDragOver (event) {             myPreventDefault(event);         }          function myDragDrop (event) {             myPreventDefault(event);             var data = event.dataTransfer.getData('Text');             console.log(data);             event.target.appendChild(document.getElementById(data));         }         function myDragStart(event) {             event.dataTransfer.setData('Text', event.target.id);         }           var nodeList = document.querySelectorAll('.images');         for (var i = 0; i < nodeList.length; i++) {             nodeList[i].addEventListener('dragstart',myDragStart);           }         document.getElementById('right').addEventListener('dragover', myDragOver);         document.getElementById('right').addEventListener('drop', myDragDrop);          document.getElementById('left').addEventListener('dragover', myDragOver);         document.getElementById('left').addEventListener('drop', myDragDrop);      } </script> </html>

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的html5教程-HTML5拖放实现逻辑及代码讲解全部内容,希望文章能够帮你解决html5教程-HTML5拖放实现逻辑及代码讲解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:CSSHTML