下拉菜单动画js部分代码 :
var aLi=document.getElementsByTagName('li');
for(var i=0; i<aLi.length; i++)
{
aLi[i].onmouseover=function()
{
var oSubNav=this.getElementsByTagName('ul')[0];
var This=oSubNav;
clearInterval(This.time);
This.time=setInterval(function()
{
This.style.height=This.offsetHeight+16+"px";
if(This.offsetHeight>=120)
{clearInterval(This.time);}
alert("动画里this:"+This.offsetHeight);
alert("动画里oSubNav:"+oSubNav.offsetHeight);
},30)
}
代码中的变量oSubNav为什么要重新赋值给变量This?
我在动画效果函数中试了下,能成功调用oSubNAv,它的当前高度属性值也与This一样。
然而在函数中直接用oSubNav.style.height=oSubNav.offsetHeight+16+"px";为什么不产生动画?
相关分类