站長資訊網
        最全最豐富的資訊網站

        如何使用HTML5實現拖放單個元素

        如何使用HTML5實現拖放單個元素?本篇文章將給大家介紹關于實現拖放HTML元素的JavaScript代碼,下面一起來看具體的實現內容。

        如何使用HTML5實現拖放單個元素

        通過使用HTML5的拖放功能,您可以拖放HTML頁面元素

        我們來看具體的示例

        代碼如下

        SimpleDragDrop.html

        <!DOCTYPE html> <html> <head>     <meta charset="utf-8" />     <title></title>   <link rel="stylesheet" href="SimpleDragDrop.css" />   <script>     function load() {       var box = document.querySelector('.box');       box.addEventListener('dragstart', onDragStart, false);             var zone = document.querySelector('.dropzone');       zone.addEventListener('dragover', onDragOver, false);       zone.addEventListener('drop', onDrop, false);    }     function onDragStart(e) {       e.dataTransfer.setData('text', this.id);     }     function onDragOver(e) {       e.preventDefault();       this.textContent = 'onDragOver';     }     function onDrop(e) {       e.preventDefault();       this.textContent = 'onDrop';     }   </script> </head> <body onload="load();">   <div class="box" draggable="true"></div>   <div id="dropzone" class="dropzone"> </div> </body> </html>

        SimpleDragDrop.css

        .box {   width:32px;     height:32px;     border:solid 1px #002f9f; } .dropzone {   margin-top:16px;     margin-bottom:16px;     width: 280px;     height: 64px;     border: solid 1px #808080; }

        說明:

        <div class="box" draggable="true"></div>   <div id="dropzone" class="dropzone"></div>

        頁面上顯示兩個上述的div,可以使用class =“box”,id =“dropzone”拖動的對象是放置接受區域的div。對于可拖動對象,可以將draggable =“true”設置為可拖動對象。

          function load() {         var box = document.querySelector('.box');       box.addEventListener('dragstart', onDragStart, false);       var zone = document.querySelector('.dropzone');       zone.addEventListener('dragover', onDragOver, false);       zone.addEventListener('drop', onDrop, false);    }     function onDragStart(e) {       e.dataTransfer.setData('text', this.id);     }     function onDragOver(e) {       e.preventDefault();       this.textContent = 'onDragOver';     }     function onDrop(e) {       e.preventDefault();       this.textContent = 'onDrop';     }

        上面的代碼為每個元素分配拖放事件。

        對于要拖動的元素,我們設置“dragstart”事件。啟動拖動時,將執行onDragStart函數。

        對于要刪除的元素,設置“dragover”“drop”事件。當拖動的元素進入拖放區域,onDragOver功能被執行,當元件被丟棄onDrop功能將被執行。

        在dragstart的情況下,你必須編寫代碼來設置dataTransfer對象的值。它不使用插入dataTransfer中的值,但是如果沒有這個代碼的話,在沒有數據的情況下也會實現。

        運行結果

        使用Web瀏覽器顯示上述HTML文件。將顯示如下所示的效果。

        如何使用HTML5實現拖放單個元素

        拖動頂部的方框。如果將其拖動到底部框架,框架中將顯示“onDragOver”。

        如何使用HTML5實現拖放單個元素

        將其放在框架中時,框架中會顯示“onDrop”字符。

        如何使用HTML5實現拖放單個元素

        示例2:添加了事件的拖放元素的方法

        代碼如下

        SimpleDragDrop2.html

        <!DOCTYPE html> <html> <head>     <meta charset="utf-8" />     <title></title>   <link rel="stylesheet" href="SimpleDragDrop2.css" />   <script>     function load() {             var box = document.querySelector('.box');       box.addEventListener('dragstart', onDragStart, false);       box.addEventListener('dragend', onDragEnd, false);             var box = document.querySelector('.dropzone');       box.addEventListener('dragenter', onDragEnter, false);       box.addEventListener('dragover', onDragOver, false);       box.addEventListener('dragleave', onDragLeave, false);       box.addEventListener('drop', onDrop, false);     }     function onDragStart(e) {       e.dataTransfer.setData('Text', this.id);             this.textContent = 'onDragStart';     }     function onDragEnd(e) {       this.textContent = 'onDragEnd';     }     function onDragEnter(e) {       this.textContent = 'onDragEnter';     }     function onDragOver(e) {       e.preventDefault();             this.textContent = 'onDragOver';     }     function onDragLeave(e) {             this.textContent = 'onDragLeave';     }     function onDrop(e) {       e.preventDefault();             this.textContent = 'onDrop';     }   </script> </head> <body onload="load();">   <div id="box" class="box" draggable="true"></div>   <div id="dropzone" class="dropzone"></div> </body> </html>

        SimpleDragDrop.css

        .box {   width:32px;     height:32px;     border:solid 1px #d01313; } .dropzone {   margin-top:16px;     margin-bottom:16px;     width: 280px;     height: 64px;     border: solid 1px #808080; }

        說明:

         <div class="box" draggable="true"></div>   <div id="dropzone" class="dropzone"></div>

        如上例所示,頁面上顯示兩頁DIV。對于可拖動對象,請將draggable =“true”設置為可拖動對象。

        function load() {       var box = document.querySelector('.box');       box.addEventListener('dragstart', onDragStart, false);       box.addEventListener('dragend', onDragEnd, false);       var box = document.querySelector('.dropzone');       box.addEventListener('dragenter', onDragEnter, false);       box.addEventListener('dragover', onDragOver, false);       box.addEventListener('dragleave', onDragLeave, false);       box.addEventListener('drop', onDrop, false);     } function onDragStart(e) {       e.dataTransfer.setData('Text', this.id);             this.textContent = 'onDragStart';     } function onDragEnd(e) {                   this.textContent = 'onDragEnd';     } function onDragEnter(e) {       this.textContent = 'onDragEnter';     } function onDragOver(e) {       e.preventDefault();       this.textContent = 'onDragOver';     } function onDragLeave(e) {       this.textContent = 'onDragLeave';     } function onDrop(e) {       e.preventDefault();       this.textContent = 'onDrop';     }

        上面的代碼為每個元素分配拖放事件。
        “dragstart”和“dragend”事件被分配給拖動側的元素。一旦開始拖動,調用ondstart函數,拖動結束后,將被調用ondos agEs函數。

        “dragenter”,“dragover”,“dragleave”和“drop”事件被分配給要拖動的元素。當拖動的元素進入拖放區域,執行onDragEnter函數的功能,在拖拽區域內拖動的狀態下執行onDragOver函數,從拖拽的區域出來的話,將執行OnDragLeave函數。下拉拖動的元素時,將執行onDrop函數。

        運行結果

        使用Web瀏覽器顯示上述HTML文件。將顯示如下所示的效果。

        如何使用HTML5實現拖放單個元素

        拖動紅色區域的方形區域。字符“onDragStart”顯示在該區域中。

        如何使用HTML5實現拖放單個元素

        當你松開拖動時,你會看到“onDragEnd”的角色紅框中的區域。

        如何使用HTML5實現拖放單個元素

        再次拖動紅框區域。當拖放到底部區域時,在放置區域中顯示字符“onDragOver”。

        如何使用HTML5實現拖放單個元素

        當你放開拖到拖放區域紅框的區域,你會看到“onDrop”的字符在底部區域中。

        如何使用HTML5實現拖放單個元素

        再次拖動紅框以與放置區域重疊。將顯示“onDragOver”字符。

        如何使用HTML5實現拖放單個元素

        拖動紅框并將其拖動到拖放區域之外。放置區域中的字符顯示變為“onDragLeave”。

        如何使用HTML5實現拖放單個元素

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产成人精品怡红院在线观看| 国产偷国产偷高清精品| 91av国产精品| 亚洲国产精品VA在线看黑人| 亚洲国产综合精品中文第一区| 午夜精品久久久久久中宇| 国产精品免费一区二区三区| 国产精品熟女一区二区| 亚洲av午夜精品一区二区三区| 最新亚洲精品国自产在线观看| 国精品无码一区二区三区在线| 午夜精品久久久久久久无码| 大胸国产精品视频| 国产成人精品综合网站| 国产综合精品女在线观看| 亚洲精品国产自在久久| 久久精品不卡| 国内精品久久久久影院网站| 青青草精品视频| 9久久9久久精品| 国产成人久久精品一区二区三区 | 精品露脸国产偷人在视频| 国产日韩精品在线| 99久久精品日本一区二区免费| 亚洲国产精品无码AAA片| 欧美久久久久久午夜精品| 国产精品美女久久久久av爽| 欧美精品一本久久男人的天堂| 91精品国产福利在线导航| 精品一区二区三区在线观看视频| 亚洲精品乱码久久久久久蜜桃图片| 免费看一级毛片在线观看精品视频 | 亚洲国产精品一区二区九九 | 97精品国产自在现线免费观看| 精品亚洲综合在线第一区| 精品福利一区二区三| 国产成人精品久久免费动漫| 91精品国产9l久久久久| 精品免费视在线观看| 国产成人精品久久一区二区三区| 国内精品久久久久|