已采納回答 / 全國花式抖腿冠軍
是可以直接調用已經存在的函數的,但是不能加上()加上()的意思是當網頁加載完畢之后直接調用函數,所以你可以試一下,只寫onmouseover事件而不寫onmouseout事件,打開文件就會有反應所以,DOM0級事件處理方法是可以直接調用已經存在的函數的,也就是你想的那種,無參函數直接寫就行了比如show(){}函數,調用的時候直接寫show就可以了,不需要加(),但是有參函數因為需要傳入參數,所以必須寫在匿名函數中才能達到期望的效果.
2016-07-10
已采納回答 / 右下角_
嘿嘿,最近有點忙,來晚了。這個問題我也沒注意,最終發現,是obj.timer?=?null;clearInterval(obj.timer);這里兩句出了問題,當obj.timer=null;時,后者 相當于clearInterval(null)。有沒有發現問題呢?對,就是這樣導致后者并沒有將原有定時器結束,而obj.timer=null,本身只是將obj.timer 指向了一個空值,親測它沒有結束定時器的能力。也就是說當前一個定時器沒有結束的時候,再次觸發事件,仍然會導致定時器的疊加。解決辦法就是將ob...
2016-07-06
已采納回答 / 右下角_
抱歉啊,前面的回答,并沒有解決你的問題,又看了下代碼,發現問題就在 你把速度固定了,也就是當 width達到目標值400的時候,而height此時400 并沒有達到目標值,定時器不會停止,下一次 而width的值就變成了410,大于了width的目標值400,而當 height達到目標值時,width的值也在逐漸增大,早就超出了目標值的400,這樣就永遠不會停止了,也就是說除非 width同時達到目標值,例如lis_over(oli,10,0,{width:400,height:400});否則都不會停止...
2016-07-05
已采納回答 / 右下角_
width的第一次 onmouseover觸發參數為 wd=260,itg=500,lg=0,滿足 else?if(wd<itg&&lg==0) 這個條件,自然就被你clear掉了
2016-07-04
已采納回答 / once829
解決方法:var flag = true;這句要放在定時器內。原因:如果放在外面,第一次運行傳入定時器內的flag值為true,第一遍檢測下列代碼時????????if (icur != json[attr]){???????? flag = false;???????? }返回的flag值為false,接下來30毫秒又重新執行一遍定時器,flag的值還是為false,直到icur全都等于json[attr]時flag的值依舊不變,因此不會執行停止定時器的代碼。換句話說,定時器在重復執行spee...
2016-07-03
已采納回答 / once829
var lis_style=window.getComputedStyle(obj,null), ? ? ?wd=lis_style.width;定義變量要放在定時器內部。放在外部的話,第一次傳入定時器內的wd值為260,再一次執行定時器不會重新上訴代碼,因此wd的值始終為260,所以效果顯示出來就是停在了寬度為270的地方。
2016-07-02
已采納回答 / 右下角_
問題出現當 觸發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,固定值 就不會...
2016-07-01
已采納回答 / 紫菜中毒
2-1這節的運動是做勻速運動的,而且參數簡化到剩下一個。?if(div.offsetLeft>目標值200){????speed=-10; //速度是10剛好會到0,如果速度是-8 ?是不是到最后還有一個余數 -4px//oDiv.style.left = oDiv.offsetLeft + speed + 'px'; 是不是 left就會有稍微有偏移量 ?;反之亦然,所以會一直抖動。定時器是30ms啟動一次,課程里面 已經是 left就是都到節點值 他就一直維持不動了。 比如你現在寬度 設置成 你...
2016-06-24
已采納回答 / 盛夏孤星
ali[i].onmouseover=function(){? ? ? ? ? ? ? ? ?startMove(this,'height',400);? ? ? ? ? ? ?}和?ali[i].onmouseover=function(){? ? ? ? ? ? ? ? ?startMove(this,'width',400);? ? ? ? ? ? ?}是同一個對象,它只能按順序執行,不能同時執行,因此忽略了width
2016-06-23