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

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

JS動畫效果

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

最新回答 / PdpdPdpd
"<script></script>" 外面多包了一個“<style></style>”,去掉就好了

已采納回答 / slowACtion
<script>上面有一個多余的<style>

最贊回答 / wy_dxl
第一個函數相當于通知它去改變寬度,通知完之后,不管完成沒完成,都繼續執行第二個函數了,而第二個函數里面也有clearInterval();就把前一個未執行完的動畫清除了,相當于覆蓋了。(改變寬度可能要300ms,而通知可能就要1ms,第二個函數通知的時候也就1ms,很快,就相當于覆蓋了),不知道我說明白了嗎

已采納回答 / 呆4
經過我的測試,可以這樣理解,在執行第一個startmove中定時器里面的函數的時候是在設定的30ms后才會執行第一次定時器里面的函數,但之后的程序仍然會繼續執行,所以這時就會繼續執行下一個startmove函數,而下一個startmove的第一步就是clearinterval,所以你會發現,第一個startmove的定時器中的函數其實根本就沒有執行,寬度根本一次都沒變,第一個startmove中的定時器在還沒有等到30ms開始執行的時候就已經被clearinterval了,所以你會感覺是第一個沒執行完就開...

已采納回答 / 之芭
加parseInt試試看

最贊回答 / 撞門人
不該在遍歷內添加flag?=?true;的,假設有兩個CSS屬性,第一個icur != json[i] ?這時flag?=false,但是到第二個屬性時如果icur == json[i],此時flag?=?true,將第一個false覆蓋。所以不能達到想要的效果

已采納回答 / michael88
當屬性為變量時,只能用[],不能用.操作

已采納回答 / 大丑鴨
第33行和第36行的obj應該是使用形參的abj對象

最新回答 / Metotaste
解決方案:需要把下面兩行代碼移動到timer=setInterval()這個方法里的函數的函數體里。?var oDiv = document.getElementById('div1');?var div_width = parseInt(getStyle(oDiv,'width'));最終有效的代碼是這樣的:<...code...>

已采納回答 / 慕容6759333
<...code...>第四行offsetLeft沒打對!

已采納回答 / kaiyanghll
?function getStyle(obj,attr){ ?? ?if(obj.currentStyle){ return obj.currentStyle[attr]; } else{ ?? ? ?return getComputedStyle(obj,false)[attr]; ??} ?} ?function startMove(obj,iTarget,attr,fn){ ?? ? ? clearInterval(obj.timer); ?...
課程須知
1.您至少已經具備JavaSript的知識。2.您已經具備一些開發經驗。
老師告訴你能學到什么?
1.使用定時器實現簡單動畫。2.如何一步步封裝庫。2.培養編程的思想。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消