主頁 > 知識庫 > HTML5拖放效果的實現(xiàn)代碼

HTML5拖放效果的實現(xiàn)代碼

熱門標簽:西寧智能外呼系統(tǒng)加盟 杭州營銷電銷機器人供應商 電視購物電銷外呼系統(tǒng) 高德地圖標注賓館位置 飛亞外呼系統(tǒng) 電話機器人如何 貸款電銷人工和機器人哪個好 聯(lián)通400電話申請 百應電銷機器人產業(yè)

拖放

拖放是一種常見的特性,即抓取對象以后拖到另一個位置。

在 HTML5 中,拖放是標準的一部分,任何元素都能夠拖放。

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持拖動。

注意:Safari 5.1.2不支持拖動.

實例:

<!DOCTYPE html>  
<html>  
<head>  
    <title>拖放</title>  
    <style type="text/css">  
        #div1{width:360px;height:220px;padding:20px;border:1px solid black;}  
    </style>  
    <script>  
        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" ondrop="drop(event)" ondragover="allowDrop(event)"></div>  
    <br />  
    <img id="drag1" src="img/bg_1.jpg" draggable="true" ondragstart="drag(event)"  width="300px" height="180px" />  
</body>  
</html>  

首先,為了使元素可拖動,把draggable 屬性設置為 true :<img draggable="true">

然后,規(guī)定當元素被拖動時,會發(fā)生什么。
在上面的例子中,ondragstart 屬性調用了一個函數(shù),drag(event),它規(guī)定了被拖動的數(shù)據。
dataTransfer.setData() 方法設置被拖數(shù)據的數(shù)據類型和值:

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

在這個例子中,數(shù)據類型是 "Text",值是可拖動元素的 id ("drag1")。

ondragover 事件規(guī)定在何處放置被拖動的數(shù)據。
默認地,無法將數(shù)據/元素放置到其他元素中。如果需要設置允許放置,我們必須阻止對元素的默認處理方式。
這要通過調用 ondragover 事件 event.preventDefault() 方法event.preventDefault()

當放置被拖數(shù)據時,會發(fā)生 drop 事件。
在上面的例子中,ondrop 屬性調用了一個函數(shù),drop(event):

function drop(ev)
{
    ev.preventDefault();
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
}

代碼解釋:

調用 preventDefault() 來避免瀏覽器對數(shù)據的默認處理(drop 事件的默認行為是以鏈接形式打開)
通過 dataTransfer.getData("Text") 方法獲得被拖的數(shù)據。該方法將返回在 setData() 方法中設置為相同類型的任何數(shù)據。
被拖數(shù)據是被拖元素的 id ("drag1")
把被拖元素追加到放置元素(目標元素)中

來回拖動:

若要在兩個地方來回拖動,只需將上面代碼稍作修改就行了.
將body中的代碼改成:

<body>  
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">  
    <img id="drag1" src="img/bg_1.jpg" draggable="true" ondragstart="drag(event)"  width="300px" height="180px" /></div>  
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>  
</body>  

然后在style樣式中加上#div2就可以了:

<style type="text/css">  
        #div1,#div2{width:360px;height:220px;padding:20px;border:1px solid black;}  
    </style>  

這樣就可以實現(xiàn)來回拖放了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:玉溪 撫州 煙臺 晉中 安慶 內蒙古 牡丹江 邯鄲

巨人網絡通訊聲明:本文標題《HTML5拖放效果的實現(xiàn)代碼》,本文關鍵詞  HTML5,拖放,效果,的,實現(xiàn),;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5拖放效果的實現(xiàn)代碼》相關的同類信息!
  • 本頁收集關于HTML5拖放效果的實現(xiàn)代碼的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章