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

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

JS動畫效果

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

已采納回答 / 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()就會銷毀

最新回答 / 夢幻大使
offsetWidth的寬度包括了width和border

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

最贊回答 / qq_發條橙子_0
box2.onmouseover=omove; 執行這條語句的意思是box2的鼠標事件指向一個叫omove名字的function;box2.onmouseover=omove(0);執行這條語句的意思是box2指向的是omove運行的結果,而結果自然要運行出來才知道,omove函數就直接被調用了。于是不等鼠標over分享框就自己動起來了。但是omove又要接收參數,所以就把omove放在一個function里面。

已采納回答 / 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里面判斷動畫停止的時候是否正確

最新回答 / Neil丶
如果attr你給他heigth值,那每次獲取到的是當前height值,意思就是每次獲取得到的icur是不一樣的,然后speed=(iTarget-icur)/8得到的速度就不時勻速的。我是這樣理解的!

已采納回答 / 小感冒
復制了一下你的代碼測試了一下,應該是停在-190.5這個數的。原因我理解的是這樣的:因為-190.5還差-9.5就達到了-200,但是如果在進行運算的話,就是比-200小了。好比10/3,結果是3余1,永遠會留下一個1,這個1就相當于上面所說的-9.5.

已采納回答 / haoyuanlin
這個可能是高度達到的時間比較短,然后在封裝的startMove中判斷動畫停止的時候認為目標值已經達到,所以執行了clearInterval(time);所以width達不到預期

最新回答 / 時間啊
后者可以加‘’單引號表示字符串,前者點后面沒辦法加引號,相當于不能傳參,老師有講過!
課程須知
1.您至少已經具備JavaSript的知識。2.您已經具備一些開發經驗。
老師告訴你能學到什么?
1.使用定時器實現簡單動畫。2.如何一步步封裝庫。2.培養編程的思想。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消