最近在學習HTML5與運動庫的結合使用,在實踐中嘗試了拖曳實現的功能。這個功能可以讓用戶通過鼠標點擊和拖動來移動一個指定的元素。下面是一個簡單的例子:
var dragObj = null; function dragStart(event) { event.dataTransfer.setData("Text", event.target.id); dragObj = event.target; } function dragOver(event) { event.preventDefault(); } function drop(event) { event.preventDefault(); var data = event.dataTransfer.getData("Text"); var dropObj = document.getElementById(data); var parent = dropObj.parentNode; parent.removeChild(dropObj); event.target.appendChild(dropObj); dragObj = null; }
上面的代碼中,我們使用了HTML5的drag and drop API。首先我們定義了dragStart()函數,在這個函數中設置了數據傳輸(setData),并將dragObj變量設為當前元素。接下來我們定義了dragOver()函數來阻止默認行為,然后是drop()函數,它用于將拖曳元素放到新位置。
我們還需要在HTML中指定拖曳元素的id和事件監聽器,例如:
<div id="dragMe" draggable="true" ondragstart="dragStart(event)"> 拖曳我吧! </div> <div id="dropHere" ondragover="dragOver(event)" ondrop="drop(event)"> 放在這里! </div>
在這個例子中,我們使用了<div>元素來代表拖曳元素和目標位置。通過設置id和事件監聽器,我們可以把我們的JavaScript代碼與HTML頁面結合起來,使得拖曳實現變得輕松易懂。