第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么我將oSubNav.time 改成一個普通變量 timer就不行了

indow.onload=function(){

? ? var aLi=document.getElementsByTagName('li');

? ? for(var i=0; i<aLi.length; i++){

? ? ? ?aLi[i].onmouseover=function(){

? ? ? ? ? ? var oSubNav=this.getElementsByTagName('ul')[0];

? ? ? ? ? ? if(oSubNav){

? ? ? ? ? ? clearInterval(timer);

? ? ? ? ? ? var timer=setInterval(function(){

? ? ? ? ? ? ? ? ? ? oSubNav.style.height=oSubNav.offsetHeight+16+"px";

? ? ? ? ? ? ? ? ? ? if(oSubNav.offsetHeight>=120)

? ? ? ? ? ? ? ? ? ? clearInterval(timer);

? ? ? ? ? ? ? ? },30)

? ? ? ? ? ? ?}

? ? ? ? ? }

? ? ? ? //鼠標(biāo)離開菜單,二級菜單動畫收縮起來。 ? ? ? ?

? ? ?aLi[i].onmouseout=function(){

? ? ? ? ? ? var oSubNav=this.getElementsByTagName('ul')[0];

? ? ? ? ? ? if(oSubNav){

? ? ? ? ? ? clearInterval(timer);

? ? ? ? ? ? var timer=setInterval(function(){

? ? ? ? ? ? ? ? ? ? oSubNav.style.height=oSubNav.offsetHeight-16+"px";

? ? ? ? ? ? ? ? ? ? if(oSubNav.offsetHeight<=0)

? ? ? ? ? ? ? ? ? ? clearInterval(timer);

? ? ? ? ? ? ? ? },30)

? ? ? ? ? ? ?}

? ? ? ? ? }

? ? ? ??

? ? }

}


程序就出BUG了,鼠標(biāo)滑到li標(biāo)簽,窗口也會彈回,一定要建立對象的屬性來保存setInterval的返回值嗎

正在回答

1 回答

oSubNav就是this.getElementsByTagName('ul')[0],oSubNav是遍歷所有l(wèi)i,如果當(dāng)前li下有ul,即當(dāng)前的li是一級菜單,才繼續(xù)執(zhí)行后面的邏輯。為什么要把后面的計時器綁在this上呢?因為每個this也就是每個一級菜單有著一個共同的計時器。假設(shè)你迅速的進入、移出,再移入某個一級菜單,因為使用同一個定時器,移出時會清空移入的定時器,移入時清空移出的定時器,二級菜單不會卡殼。如果改成一個普通的變量timer,timer的作用域僅限于該次函數(shù)內(nèi)部調(diào)用,移入和移出使用了不同的計時器,二級菜單的高度會不斷的+12px和-12px,每次移入都產(chǎn)生了新的一個timer?;蛘吣阆雱?chuàng)建一個全局的timer所有一級菜單共用,一級菜單同樣會卡殼,不能單獨的縮回。這樣每個一級菜單共用的一個變量,把它放在this的屬性上再方便不過了。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

ZZXboy 提問者

非常感謝!
2016-04-28 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
導(dǎo)航條菜單的制作
  • 參與學(xué)習(xí)       123855    人
  • 解答問題       838    個

水平、垂直、圓角導(dǎo)航條菜單,讓您的技術(shù)探索之路更高效

進入課程

為什么我將oSubNav.time 改成一個普通變量 timer就不行了

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號