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

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

JS動畫效果

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

已采納回答 / 全國花式抖腿冠軍
是可以直接調用已經存在的函數的,但是不能加上()加上()的意思是當網頁加載完畢之后直接調用函數,所以你可以試一下,只寫onmouseover事件而不寫onmouseout事件,打開文件就會有反應所以,DOM0級事件處理方法是可以直接調用已經存在的函數的,也就是你想的那種,無參函數直接寫就行了比如show(){}函數,調用的時候直接寫show就可以了,不需要加(),但是有參函數因為需要傳入參數,所以必須寫在匿名函數中才能達到期望的效果.

已采納回答 / 我一定不是吃貨
你的for循環少了大括號,還有onmouseoover和onmouseout寫錯了。騷年要仔細啊。

已采納回答 / 右下角_
嘿嘿,最近有點忙,來晚了。這個問題我也沒注意,最終發現,是obj.timer?=?null;clearInterval(obj.timer);這里兩句出了問題,當obj.timer=null;時,后者 相當于clearInterval(null)。有沒有發現問題呢?對,就是這樣導致后者并沒有將原有定時器結束,而obj.timer=null,本身只是將obj.timer 指向了一個空值,親測它沒有結束定時器的能力。也就是說當前一個定時器沒有結束的時候,再次觸發事件,仍然會導致定時器的疊加。解決辦法就是將ob...

已采納回答 / 右下角_
抱歉啊,前面的回答,并沒有解決你的問題,又看了下代碼,發現問題就在 你把速度固定了,也就是當 width達到目標值400的時候,而height此時400 并沒有達到目標值,定時器不會停止,下一次 而width的值就變成了410,大于了width的目標值400,而當 height達到目標值時,width的值也在逐漸增大,早就超出了目標值的400,這樣就永遠不會停止了,也就是說除非 width同時達到目標值,例如lis_over(oli,10,0,{width:400,height:400});否則都不會停止...

已采納回答 / 右下角_
width的第一次 onmouseover觸發參數為 wd=260,itg=500,lg=0,滿足 else?if(wd<itg&&lg==0) 這個條件,自然就被你clear掉了

已采納回答 / once829
解決方法:var flag = true;這句要放在定時器內。原因:如果放在外面,第一次運行傳入定時器內的flag值為true,第一遍檢測下列代碼時????????if (icur != json[attr]){???????? flag = false;???????? }返回的flag值為false,接下來30毫秒又重新執行一遍定時器,flag的值還是為false,直到icur全都等于json[attr]時flag的值依舊不變,因此不會執行停止定時器的代碼。換句話說,定時器在重復執行spee...

已采納回答 / once829
var lis_style=window.getComputedStyle(obj,null), ? ? ?wd=lis_style.width;定義變量要放在定時器內部。放在外部的話,第一次傳入定時器內的wd值為260,再一次執行定時器不會重新上訴代碼,因此wd的值始終為260,所以效果顯示出來就是停在了寬度為270的地方。

已采納回答 / Camille__
是的,如果一定要傳很多參數的時候可以把這些參數封裝到一個對象里面,然后把這個對象傳過去

已采納回答 / 右下角_
問題出現當 觸發onmouseleave 時,傳入speed=5,而star_1 中的局部變量speed=5,由于itarget=-160<0,所以,speed=-speed,即此時局部變量speed=-5,而下一個50ms,由于itarget=-160<0不變,繼續執行speed=-speed,即此時局部變量speed=5了,到此發現問題了,在定時器的作用下,speed會在5與-5之間來回變動,有沒有達到任何 你設置的 停止條件,就出現了 無限制的抖動。而如果speed=-5,固定值 就不會...

已采納回答 / 我愛吃母雞
那就綁定其他事件,點擊觸發也可以或者在其他地區綁定事件

已采納回答 / 哎狐狐
你電腦有聲音嗎,你是不是調靜音了

已采納回答 / 紫菜中毒
2-1這節的運動是做勻速運動的,而且參數簡化到剩下一個。?if(div.offsetLeft>目標值200){????speed=-10; //速度是10剛好會到0,如果速度是-8 ?是不是到最后還有一個余數 -4px//oDiv.style.left = oDiv.offsetLeft + speed + 'px'; 是不是 left就會有稍微有偏移量 ?;反之亦然,所以會一直抖動。定時器是30ms啟動一次,課程里面 已經是 left就是都到節點值 他就一直維持不動了。 比如你現在寬度 設置成 你...

已采納回答 / 盛夏孤星
ali[i].onmouseover=function(){? ? ? ? ? ? ? ? ?startMove(this,'height',400);? ? ? ? ? ? ?}和?ali[i].onmouseover=function(){? ? ? ? ? ? ? ? ?startMove(this,'width',400);? ? ? ? ? ? ?}是同一個對象,它只能按順序執行,不能同時執行,因此忽略了width

已采納回答 / 害羞長頸鹿
這是jQuery封裝的一個方法,$(function(){})你可以簡單的理解為JS中的window.onload,效果是差不多的,但功能會更強大
課程須知
1.您至少已經具備JavaSript的知識。2.您已經具備一些開發經驗。
老師告訴你能學到什么?
1.使用定時器實現簡單動畫。2.如何一步步封裝庫。2.培養編程的思想。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消