首页前端开发HTMLHTML5拖放实现逻辑及代码讲解

HTML5拖放实现逻辑及代码讲解

时间2024-01-26 18:34:02发布访客分类HTML浏览1010
导读:收集整理的这篇文章主要介绍了html5教程-HTML5拖放实现逻辑及代码讲解,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 1.拖放实现逻辑 开始...
收集整理的这篇文章主要介绍了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教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ClassCSSdivDOMHTMLpost-format-gallery

若转载请注明出处: HTML5拖放实现逻辑及代码讲解
本文地址: https://pptw.com/jishu/587126.html
html5+jquery获取微信openid(代码教程) HTML5和CSS3的新特性介绍

游客 回复需填写必要信息