濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > html5拖曳操作 HTML5實(shí)現(xiàn)網(wǎng)頁(yè)元素的拖放操作

html5拖曳操作 HTML5實(shí)現(xiàn)網(wǎng)頁(yè)元素的拖放操作

熱門標(biāo)簽:搜狗星級(jí)酒店地圖標(biāo)注 江蘇高頻外呼系統(tǒng)線路 電銷機(jī)器人視頻 會(huì)聲會(huì)影怎樣做地圖標(biāo)注效果 洛陽(yáng)市伊川縣地圖標(biāo)注中心官網(wǎng) 標(biāo)準(zhǔn)智能外呼系統(tǒng) 高德地圖標(biāo)注錯(cuò)誤怎么修改 平頂山電子地圖標(biāo)注怎么修改 地圖標(biāo)注自己去過的地方

HTML5之前,要實(shí)現(xiàn)網(wǎng)頁(yè)元素的拖放操作,需要依靠mousedown、mousemove、mouseup等API,通過大量的JS代碼來實(shí)現(xiàn);HTML5中引入了直接支持拖放操作的API,大大簡(jiǎn)化了網(wǎng)頁(yè)元素的拖放操作編程難度,并且這些API除了支持瀏覽器內(nèi)部元素的拖放外,同時(shí)支持瀏覽器和其它應(yīng)用程序之間的數(shù)據(jù)互相拖動(dòng)。

本文通過一個(gè)簡(jiǎn)單示例,演示HTML5中拖放API的使用方法。

場(chǎng)景:

如下圖所示,我們要實(shí)現(xiàn):

通過拖放將照片從左側(cè)“相冊(cè)”區(qū)域拖拽到右側(cè)“垃圾箱”區(qū)域;拖拽過程中,“溫馨提示”部分要及時(shí)提醒,當(dāng)前正在進(jìn)行拖放操作;


實(shí)現(xiàn)方法:

如上界面的HTML代碼比較簡(jiǎn)單,如下:

復(fù)制代碼
代碼如下:

<!DOCTYPE HTML>
<html>
<head>
<title>HTML5實(shí)現(xiàn)拖拽操作</title>
<meta charset="utf-8"/>
<style>
.album
{
border: 3px dashed #ccc;
float: left;
margin: 10px;
min-height: 100px;
padding: 10px;
width: 220px;
}
</style>
</head>
<body">
<div id="info">
<h2>溫馨提示:可將照片直接拖到垃圾箱中</h2>
</div>
<div id="album" class="album">
<h2>相冊(cè)</h2>
<img draggable="true" id="img1" src="img/bg_01.png" />
<img draggable="true" id="img2" src="img/bg_02.png" />
<img draggable="true" id="img3" src="img/bg_03.png" />
</div>
<div id="trash" class="album">
<h2>垃圾箱</h2>
</div>
<br/>
</body>
</html>

注意:如果要實(shí)現(xiàn)拖放操作,需要在待拖放的元素上增加draggable="true"屬性;

接下來,再在onload事件中增加如下JS代碼即可,注釋比較詳盡,就不再單獨(dú)解釋。

復(fù)制代碼
代碼如下:

<script>
function init(){
var info = document.getElementById("info");
//獲得被拖放的元素,本示例為相冊(cè)所在的DIV
var src = document.getElementById("album");
//開始拖放操作
src.ondragstart = function (e) {
//獲得被拖放的照片ID
var dragImgId = e.target.id;
//獲得被拖動(dòng)元素
var dragImg = document.getElementById(dragImgId);
//拖放操作結(jié)束
dragImg.ondragend = function(e){
//恢復(fù)提醒信息
info.innerHTML="<h2>溫馨提示:可將照片直接拖到垃圾箱中</h2>";
};
e.dataTransfer.setData("text",dragImgId);
};
//拖放過程中
src.ondrag = function(e){
info.innerHTML="<h2>--照片正在被拖動(dòng)--</h2>";
}
//獲得拖放的目標(biāo)元素
var target = document.getElementById("trash");
//關(guān)閉默認(rèn)處理;
target.ondragenter = function(e){
e.preventDefault();
}
target.ondragover = function(e){
e.preventDefault();
}
//有東西拖放到了目標(biāo)元素
target.ondrop = function (e) {
var draggedID = e.dataTransfer.getData("text");
//獲取相冊(cè)中的DOM對(duì)象
var oldElem = document.getElementById(draggedID);
//從相冊(cè)DIV中刪除該照片的節(jié)點(diǎn)
oldElem.parentNode.removeChild(oldElem);
//將被拖動(dòng)的照片DOM節(jié)點(diǎn)添加到垃圾桶DIV中;
target.appendChild(oldElem);
info.innerHTML="<h2>溫馨提示:可將照片直接拖到垃圾箱中</h2>";
e.preventDefault();
}
}
</script>

實(shí)現(xiàn)效果:

標(biāo)簽:松原 阿克蘇 廣西 廣東 果洛 鄂爾多斯 蚌埠 常德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5拖曳操作 HTML5實(shí)現(xiàn)網(wǎng)頁(yè)元素的拖放操作》,本文關(guān)鍵詞  html5,拖曳,操作,HTML5,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html5拖曳操作 HTML5實(shí)現(xiàn)網(wǎng)頁(yè)元素的拖放操作》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于html5拖曳操作 HTML5實(shí)現(xiàn)網(wǎng)頁(yè)元素的拖放操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    泰兴市| 平度市| 武安市| 闽侯县| 柳江县| 涟源市| 张家港市| 淅川县| 邢台市| 龙州县| 阜城县| 习水县| 深州市| 太谷县| 瑞金市| 萨嘎县| 清原| 长丰县| 韶关市| 玛多县| 和平区| 济阳县| 丽水市| 福建省| 宜春市| 津市市| 通城县| 大足县| 鄂州市| 台前县| 临猗县| 兴业县| 繁昌县| 元氏县| 永平县| 济南市| 鲁山县| 安远县| 天长市| 岱山县| 青阳县|