那個(gè)看錯(cuò)的同學(xué) 是因?yàn)槠浔旧砀?00px 鼠標(biāo)移入400px 移出200px 所以比原來(lái)高了
2017-06-09
offsetLeft和style.left的區(qū)別:
offsetLeft返回的是數(shù)字,style.left返回的是字符串,除了數(shù)字還有‘px’;
offsetLeft只讀,style.left可寫。
這里style.left是隨定時(shí)器而變動(dòng)的。
offsetLeft返回的是數(shù)字,style.left返回的是字符串,除了數(shù)字還有‘px’;
offsetLeft只讀,style.left可寫。
這里style.left是隨定時(shí)器而變動(dòng)的。
2017-06-07
這節(jié)視頻有很多有意思的點(diǎn):
1. 老師使用了element.offsetLeft屬性,如果不使用這個(gè)屬性,會(huì)需要增加好幾行代碼來(lái)實(shí)現(xiàn)。
2. 不僅可以使用setInterval(),還可以使用setTimeout()或requestAnimationFrame()函數(shù)來(lái)達(dá)到目的。
3. 老師的代碼中的結(jié)束條件存在bug,當(dāng)target的值不是speed的整數(shù)倍時(shí),動(dòng)畫不會(huì)停止。
4. 即使正確設(shè)置了speed和target的值,返回觸發(fā)鼠標(biāo)事件,動(dòng)畫也可能用于不會(huì)停止。在開始狀態(tài)和目標(biāo)狀態(tài)間閃來(lái)閃去。
1. 老師使用了element.offsetLeft屬性,如果不使用這個(gè)屬性,會(huì)需要增加好幾行代碼來(lái)實(shí)現(xiàn)。
2. 不僅可以使用setInterval(),還可以使用setTimeout()或requestAnimationFrame()函數(shù)來(lái)達(dá)到目的。
3. 老師的代碼中的結(jié)束條件存在bug,當(dāng)target的值不是speed的整數(shù)倍時(shí),動(dòng)畫不會(huì)停止。
4. 即使正確設(shè)置了speed和target的值,返回觸發(fā)鼠標(biāo)事件,動(dòng)畫也可能用于不會(huì)停止。在開始狀態(tài)和目標(biāo)狀態(tài)間閃來(lái)閃去。
2017-05-30
最新回答 / charsandrew
又看了下代碼: 發(fā)現(xiàn)了其實(shí)主要是沒(méi)能有效的清除定時(shí)器的問(wèn)題,把代碼改成下面這樣就可以運(yùn)行。<...code...>將函數(shù)提出來(lái)放到事件外面定義效率更高,再將兩個(gè)move函數(shù)合并在一起代碼會(huì)更簡(jiǎn)潔。
2017-05-30
這是我自己寫的完整demo,有需要的朋友可以去看一下http://pan.baidu.com/s/1qYhSS1Y
2017-05-29