完整代碼在此:http://idcbgp.cn/code/1737 aLi[i].onmouseover=function(){ //為每個(gè)li標(biāo)簽添加鼠標(biāo)移入動(dòng)作
var oSubNav=this.getElementsByTagName('ul')[0]; //獲取鼠標(biāo)當(dāng)前l(fā)i標(biāo)簽的第一個(gè)ul標(biāo)簽(二級(jí)菜單)
if(oSubNav){ //如果ul標(biāo)簽存在的話
var This=oSubNav; // 是否多余?
clearInterval(This.time); //為什么要有?
This.time=setInterval(function(){ //定時(shí),讓二級(jí)菜單ul自增
This.style.height=This.offsetHeight+1+"px"; //獲取當(dāng)前二級(jí)菜單ul高度 + 1
if(This.offsetHeight>=120) //高度大于等于120時(shí)
clearInterval(This.time); //停止執(zhí)行
},1)
}
}這是我的疑問(wèn),其中 var This=oSubNav; 是不是完全多余的?因?yàn)榘裈his替換回原來(lái)的oSubNav也是可以的。第二個(gè)問(wèn)題:為什么要用This.time來(lái)存放定期器?我試了下,把This.time改成隨便var一個(gè)變量,就出問(wèn)題了。鼠標(biāo)只有停在下拉菜單中第2、4個(gè)li才有效;停在第1、3個(gè)li會(huì)觸發(fā)鼠標(biāo)移開事件;而且alert(This.time)是,每次鼠標(biāo)移上去都是彈出2、4、6、8、10、12、沒有單數(shù),這其中必有聯(lián)系,但是想不出問(wèn)題是在哪里。第三個(gè)問(wèn)題:為什么要在定時(shí)器之前清除定時(shí)器呢?clearInterval(This.time);請(qǐng)教各位大神。[抱拳]
關(guān)于下拉菜單的問(wèn)題?
慕仙森
2018-10-18 11:19:12