html5中drag//drop拖曳效果的用法

鑫空間講解


講義


缺乏對clearData() dropEffect() effectAllowed()的理解


eg1:

把圖像放在邊框中

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#div1 {width:198px; height:66px;padding:10px;border:2px solid #aaaaaa;}
</style>
<script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
}


function drag(ev)
{
ev.dataTransfer.setData("img",ev.target.id);
}


function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("img");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>


<p>請把 W3School 的圖片拖放到矩形中:</p>
<div id="div1" οndrοp="drop(event)" οndragοver="allowDrop(event)"></div>
<br/>
<img id="drag1" width="100px" height="50px" src="drag.jpg" draggable="true" οndragstart="drag(event)"/>
</body>
</html>



eg2:圖片在兩個邊框之中來回拖放

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#div1, #div2
{float:left; width:198px; height:66px; margin:10px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
}


function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}


function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>


<div id="div1" οndrοp="drop(event)" οndragοver="allowDrop(event)">
  <img src="/i/eg_dragdrop_w3school.gif" draggable="true" οndragstart="drag(event)" id="drag1" />
</div>
<div id="div2" οndrοp="drop(event)" οndragοver="allowDrop(event)"></div>


</body>
</html>




發佈了290 篇原創文章 · 獲贊 17 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章