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

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

JS動畫效果

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

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

已采納回答 / UserNameForImooc
字符串拼接。不知道你問的是不是這個。

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

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

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

已采納回答 / 慕容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); ?...

已采納回答 / witchy
你for循環少寫了花括號吧 沒有括起來

已采納回答 / wanoneQ
第八行 oar=getStyle(obj,attr)*100;中getStyle(obj,attr)需要用parseFloat()函數轉換為數字,再四舍五入提高準確度。oar=Math.round( parseFloat( getStyle(obj,attr) )*100);另外你的速度有問題,建議提高精確度采用緩沖動畫,防止邊緣抖動。

已采納回答 / Betsey
第44行的attr沒有定義,應該把attr換成'width',因為attr是在getStyle()里面的局部變量,離開了getStyle()就會銷毀

已采納回答 / 慕容6759333
比如移動到的目標值是300px,通過300減去當前的坐標0,再除以20,結果是15,div以15的速度向右移動,這是第一次定時器執行的結果。30毫秒后再執行一次,目標移動到了15,通過300減去當前坐標15結果是285,285除以20結果的14.25,這樣一次次運算下來,速度越來越小,比如速度是15、14.25、12.73、7.2。。。。這樣的。由于數值設置的原因,div移動到一定px后,進行相減再除20的運算后會出現小數,比如0.75,比如這時div移動到了290,程序里寫到div的left=oDiv....

已采納回答 / hiccup_dai
<script type="text/javascript"> $(function(){ $('#move a').mouseenter(function(){ $(this).find('i').animate({top:"-25px",opacity:"0"},300,function(){ $(this).css({top:"30px"}); $(this).animate({top:"20px",opacity:"1"},200) }) ...

已采納回答 / haoyuanlin
可能是封裝的函數里面高度達到了然后使得動畫停止了,看看startMove里面判斷動畫停止的時候是否正確

已采納回答 / 小感冒
復制了一下你的代碼測試了一下,應該是停在-190.5這個數的。原因我理解的是這樣的:因為-190.5還差-9.5就達到了-200,但是如果在進行運算的話,就是比-200小了。好比10/3,結果是3余1,永遠會留下一個1,這個1就相當于上面所說的-9.5.
課程須知
1.您至少已經具備JavaSript的知識。2.您已經具備一些開發經驗。
老師告訴你能學到什么?
1.使用定時器實現簡單動畫。2.如何一步步封裝庫。2.培養編程的思想。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消