已采納回答 / 慕數(shù)據(jù)9685367
javascript的計(jì)算能力不強(qiáng),用小數(shù)的方式來(lái)做數(shù)學(xué)運(yùn)算容易得出錯(cuò)誤結(jié)果,建議需要運(yùn)算的代碼盡量避開小數(shù)。
2017-09-18
已采納回答 / 慕粉190336714
用控制臺(tái)查了一下,你的speed 是不變的,這樣的話,if(obj.offsetWidth==target)有可能永遠(yuǎn)都不滿足,例如:用速度9從兩百運(yùn)動(dòng)到400,會(huì)剛好錯(cuò)過400這個(gè)值,計(jì)時(shí)器就一直沒被清除。解決方法:把speed的計(jì)算放進(jìn)setInterval里面的那個(gè)參數(shù)下代碼:? ? ? ? function startMove(obj,target){??????????? clearInterval(obj.timer);??????????? obj.timer=setInterval(fun...
2017-09-14
已采納回答 / Zzmkiv
代碼是沒錯(cuò)的,但是你沒有清除瀏覽器默認(rèn)樣式。*{margin:0;padding:0},所以你這里每次加上speed ?10px,得不到left值為0,會(huì)直接由-2px跳到16px
2017-08-06
已采納回答 / 為彭十七加油oO
因?yàn)槿绻@樣先判斷有fn()方法時(shí),會(huì)先執(zhí)行調(diào)用fn()方法然后執(zhí)行clearintval(),但是這時(shí)候?yàn)g覽器并不會(huì)等到fn()方法執(zhí)行完才去調(diào)用clearintval().它會(huì)直接清除fn()內(nèi)的定時(shí)器。正好老師下節(jié)課會(huì)講到...
2017-08-03
已采納回答 / 丶痞子紳士
兩種方式除了表面上的區(qū)別,瀏覽器解析和效率上沒有本質(zhì)區(qū)別。第一種方式只是多了個(gè)匿名函數(shù)在里面調(diào)用sMove()函數(shù)第二種方式直接調(diào)用sMove()函數(shù)沒有優(yōu)劣之分,如果一定要說(shuō)哪個(gè)好,我本人推崇第一種方式,原因是我用的IDE可以直接轉(zhuǎn)到函數(shù)的定義,而第二種方式只有函數(shù)名,如果以后代碼量很多,不能很方便地找到這個(gè)函數(shù)本身。
2017-07-11
已采納回答 / qq_三六七_(dá)0
script標(biāo)簽不能寫在<style></style>之間,而且函數(shù)名是startMove,調(diào)用的時(shí)候?qū)懗鰏tartMove1
2017-07-07