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

        如何使用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號
        主站蜘蛛池模板: 国产精品对白刺激久久久| 国产精品污视频| 国产精品欧美一区二区三区不卡 | 久久99国产综合精品| 久久久久久久久久久免费精品| 国产亚洲精品国产| 国产在线精品免费aaa片| 在线涩涩免费观看国产精品| 精品第一国产综合精品蜜芽 | 国产成人精品免高潮在线观看 | 国产国产精品人在线视| 亚洲午夜成人精品电影在线观看| 精品乱子伦一区二区三区高清免费播放 | 久久精品国产只有精品66| 青青草国产精品久久久久| 国产成人精品无码播放| 日产精品久久久久久久| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 亚洲精品自在在线观看| 麻豆国内精品久久久久久| 成人精品一区二区三区| 精品一区二区久久久久久久网站| 国产国拍亚洲精品mv在线观看| 精品久久久久久久无码| 精品一区二区三区无码免费视频| 夜夜精品无码一区二区三区| 亚洲国产成人精品91久久久| 久久精品国产亚洲Aⅴ香蕉| 久久国产精品一区| 久久国产热这里只有精品| 精品亚洲欧美中文字幕在线看| 丁香色婷婷国产精品视频| 国产精品JIZZ在线观看老狼| 91精品国产综合久久香蕉 | 欧美亚洲综合免费精品高清在线观看| 国产精品无码国模私拍视频| 国产精品亚洲玖玖玖在线观看| 国产情侣大量精品视频| 国内精品伊人久久久久影院对白| 精品无码国产污污污免费网站国产| 黄床大片免费30分钟国产精品|