將超級英雄拖曳到場上
重要性:5
這個任務可以幫助您檢查對拖放和 DOM 的幾個面向的理解。
讓所有具有 draggable
類別的元素都可以拖曳。就像章節中的球一樣。
需求
- 使用事件委派來追蹤拖曳開始:在
document
上針對mousedown
的單一事件處理常式。 - 如果元素被拖曳至頂部/底部視窗邊緣,頁面會向上/向下捲動以允許進一步拖曳。
- 沒有水平捲動(這讓任務變得更簡單,加入它很簡單)。
- 可拖曳元素或其部分永遠不應離開視窗,即使在快速滑動滑鼠之後。
示範太大,無法在此處顯示,因此這裡有連結。
若要拖曳元素,我們可以使用 position:fixed
,它讓座標更容易管理。最後我們應將它切換回 position:absolute
以將元素置入文件。
當座標位於視窗頂部/底部時,我們使用 window.scrollTo
來捲動它。
在程式碼中有更多詳細資訊,在註解中。