国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

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

2020-03-24 16:04:04
字體:
來源:轉載
供稿:網友
如何使用HTML5實現拖放單個元素?本篇文章將給大家介紹關于實現拖放html' target='_blank'>HTML元素JavaScript代碼,下面一起來看具體的實現內容。

JavaScript

通過使用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 >

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 >

頁面上顯示兩個上述的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文件。將顯示如下所示的效果。

JavaScript

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

JavaScript

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

2345截圖20181201114936.png

示例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 >

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 >

如上例所示,頁面上顯示兩頁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文件。將顯示如下所示的效果。

2345截圖20181201115451.png

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

微信截圖_20181201134814.png

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

微信截圖_20181201135054.png

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

微信截圖_20181201135240.png

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

微信截圖_20181201135454.png

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

微信截圖_20181201140001.png

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

微信截圖_20181201140056.png

以上就是如何使用HTML5實現拖放單個元素的詳細內容,其它編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 全州县| 合作市| 娱乐| 中阳县| 五台县| 万荣县| 莱州市| 台北县| 日土县| 天津市| 三河市| 抚宁县| 同心县| 临沂市| 庆安县| 平山县| 莲花县| 凤山市| 蓝山县| 长春市| 荥阳市| 瓦房店市| 博白县| 扎兰屯市| 米林县| 南靖县| 宜宾市| 邯郸县| 南溪县| 龙口市| 新巴尔虎左旗| 康马县| 阳山县| 含山县| 黎城县| 闵行区| 河北省| 司法| 南皮县| 凤山市| 兴文县|