亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JS動畫效果

vivian Web前端工程師
難度初級
時長 2小時 8分
學習人數
綜合評分9.60
537人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.4 邏輯清晰

已采納回答 / zeroben
第20行,if(iTarget?==?speed)?這里括號里應該是icur == iTarget才對。

已采納回答 / 慕數據9685367
javascript的計算能力不強,用小數的方式來做數學運算容易得出錯誤結果,建議需要運算的代碼盡量避開小數。

已采納回答 / 慕粉190336714
用控制臺查了一下,你的speed 是不變的,這樣的話,if(obj.offsetWidth==target)有可能永遠都不滿足,例如:用速度9從兩百運動到400,會剛好錯過400這個值,計時器就一直沒被清除。解決方法:把speed的計算放進setInterval里面的那個參數下代碼:? ? ? ? function startMove(obj,target){??????????? clearInterval(obj.timer);??????????? obj.timer=setInterval(fun...

已采納回答 / L大超
把?startMove(-200);的方法換成onmouseout<...圖片...>

已采納回答 / 慕粉1729504738
getElementById('samll');small拼錯了,大兄弟

已采納回答 / 愛3
你說的animate是指直接調用這個方法,主要傳參就行了嗎?

已采納回答 / Zzmkiv
代碼是沒錯的,但是你沒有清除瀏覽器默認樣式。*{margin:0;padding:0},所以你這里每次加上speed ?10px,得不到left值為0,會直接由-2px跳到16px

已采納回答 / 為彭十七加油oO
因為如果這樣先判斷有fn()方法時,會先執行調用fn()方法然后執行clearintval(),但是這時候瀏覽器并不會等到fn()方法執行完才去調用clearintval().它會直接清除fn()內的定時器。正好老師下節課會講到...

已采納回答 / 慕粉1474362937
還有,setTimeOut和setInterval函數是異步函數

已采納回答 / 丶痞子紳士
兩種方式除了表面上的區別,瀏覽器解析和效率上沒有本質區別。第一種方式只是多了個匿名函數在里面調用sMove()函數第二種方式直接調用sMove()函數沒有優劣之分,如果一定要說哪個好,我本人推崇第一種方式,原因是我用的IDE可以直接轉到函數的定義,而第二種方式只有函數名,如果以后代碼量很多,不能很方便地找到這個函數本身。

已采納回答 / qq_三六七_0
script標簽不能寫在<style></style>之間,而且函數名是startMove,調用的時候寫出startMove1

已采納回答 / qq_終究落下_04415476
你把那些定義speed 的內容放在setInterval()里面試一試
課程須知
1.您至少已經具備JavaSript的知識。2.您已經具備一些開發經驗。
老師告訴你能學到什么?
1.使用定時器實現簡單動畫。2.如何一步步封裝庫。2.培養編程的思想。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消