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

首頁 > 編程 > HTML > 正文

html5拖曳操作 HTML5實現網頁元素的拖放操作

2024-08-26 00:16:12
字體:
來源:轉載
供稿:網友

點評:HTML5之前,要實現網頁元素的拖放操作,需要依靠mousedown、mousemove、mouseup等API,通過大量的JS代碼來實現,而如今html5大大簡化了網頁元素的拖放操作編程難度,API除了支持瀏覽器內部元素的拖放外,同時支持瀏覽器和其它應用程序之間的數據互相拖動

HTML5之前,要實現網頁元素的拖放操作,需要依靠mousedown、mousemove、mouseup等API,通過大量的JS代碼來實現;HTML5中引入了直接支持拖放操作的API,大大簡化了網頁元素的拖放操作編程難度,并且這些API除了支持瀏覽器內部元素的拖放外,同時支持瀏覽器和其它應用程序之間的數據互相拖動。

本文通過一個簡單示例,演示HTML5中拖放API的使用方法。

場景:

如下圖所示,我們要實現:

通過拖放將照片從左側“相冊”區域拖拽到右側“垃圾箱”區域;拖拽過程中,“溫馨提示”部分要及時提醒,當前正在進行拖放操作;

html5拖曳操作 HTML5實現網頁元素的拖放操作


實現方法:

如上界面的HTML代碼比較簡單,如下:

復制代碼

代碼如下:


<!DOCTYPE HTML>
<html>
<head>
<title>HTML5實現拖拽操作</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>
<h2>溫馨提示:可將照片直接拖到垃圾箱中</h2>
</div>
<div>
<h2>相冊</h2>
<img draggable="true" src="img/bg_01.png" />
<img draggable="true" src="img/bg_02.png" />
<img draggable="true" src="img/bg_03.png" />
</div>
<div>
<h2>垃圾箱</h2>
</div>
<br/>
</body>
</html>


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

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

復制代碼

代碼如下:


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


實現效果:

html5拖曳操作 HTML5實現網頁元素的拖放操作

html5拖曳操作 HTML5實現網頁元素的拖放操作


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 垦利县| 济南市| 仁怀市| 赫章县| 磐安县| 宾川县| 扎赉特旗| 格尔木市| 四会市| 苏尼特右旗| 吉林省| 平罗县| 福清市| 惠来县| 安乡县| 左云县| 土默特右旗| 兴安盟| 靖西县| 开化县| 磐安县| 房山区| 郯城县| 开鲁县| 泾川县| 霍林郭勒市| 香港 | 增城市| 平舆县| 塘沽区| 分宜县| 遂溪县| 广平县| 大田县| 塔城市| 会宁县| 东乌珠穆沁旗| 南宫市| 玛多县| 威远县| 文安县|