無法彈出二級菜單
window.onload=function(){
? ? var aLi=document.getElementsByTagName('li');
for(var i=0; i<aLi.length; i++){
aLi[i].onmouseover=function(){
? ? ? ? ? ? //鼠標(biāo)經(jīng)過一級菜單,二級菜單動畫下拉顯示出來
? ? ? ? ? ? ?var oSubNav=this.getElementsByTagName('ul')[0];
? ? ? ? ? ? ?if(oSubNav) {
? ? ? ? ? ? ? ? ?var This = oSubNav;
? ? ? ? ? ? ? ? ?clearInterval(This.time);
? ? ? ? ? ? ? ? ?This.time = setInterval(function() {
? ? ? ? ? ? ? ? ? ? This.style.height = this.offsetHeight + 16 +"px";
? ? ? ? ? ? ? ? ? ? if (This.offsetHeight >= 120) {
? ? ? ? ? ? ? ? ? ? ? ? clearInterval(This.time);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ?},30)
? ? ? ? ? ? ?}
? ??
? ??
? ??
? ??
? ??
? ??
}
? ? ? ? //鼠標(biāo)離開菜單,二級菜單動畫收縮起來。
aLi[i].onmouseout=function(){
? ? ? ? ? ? var oSubNav=this.getElementsByTagName('ul')[0];
? ? ? ? ? ? ?if(oSubNav) {
? ? ? ? ? ? ? ? ?var This = oSubNav;
? ? ? ? ? ? ? ? ?clearInterval(This.time);
? ? ? ? ? ? ? ? ?This.time = setInterval(function() {
? ? ? ? ? ? ? ? ? ? This.style.height = this.offsetHeight - 16 +"px";
? ? ? ? ? ? ? ? ? ? if (This.offsetHeight <= 0) {
? ? ? ? ? ? ? ? ? ? ? ? clearInterval(This.time);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ?},30)
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??
}
}
}
2016-09-20
如果我沒有數(shù)錯的話,你在代碼的最后少了一個"}"反括號,加上即可,除此之外?This.style.height = this.offsetHeight + 16 +"px";中的this應(yīng)為oSubNav也就是var中的This,下同。 附代碼: