拖動(dòng)功用并不像幻想的那樣很難完結(jié),只需仔細(xì)剖析拖動(dòng)的進(jìn)程,就不難理解其間的原理,完結(jié)一次拖拽進(jìn)程主要有3個(gè)環(huán)節(jié).
1.當(dāng)在需求拖動(dòng)的元素上按下鼠標(biāo)時(shí),調(diào)用mousedown事情,可以取得拖動(dòng)元素的初始方位,并為這個(gè)目標(biāo)注冊(cè)mouseover事情;
2.當(dāng)拖動(dòng)元素時(shí)調(diào)用mouseover事情,首要取得鼠標(biāo)的方位,然后改動(dòng)拖動(dòng)元素的方位;
3.當(dāng)鼠標(biāo)開(kāi)釋時(shí)調(diào)用mouseup事情,取得完畢拖動(dòng)時(shí)的鼠標(biāo)方位,假如需求窗口來(lái)接納拖動(dòng)的元素,則需求判別是否能接納,假如不能接納,要使拖動(dòng)目標(biāo)康復(fù)到拖動(dòng)前的方位,最終要?jiǎng)h去這個(gè)元素的mouseover事情.
為了使拖動(dòng)目標(biāo)在移動(dòng)方位的進(jìn)程中顯示出不一樣的作用,在觸發(fā)每一次事情時(shí)都要設(shè)置元素的style特點(diǎn),這樣會(huì)使拖拽看起來(lái)更具有動(dòng)感.