为了账号安全,请及时绑定邮箱和手机立即绑定

这句 var oSubNav=this.getElementsByTagName('ul')[0]; 表达什么?

这句 var oSubNav=this.getElementsByTagName('ul')[0]; 表达什么?

慕设计7041374 2016-06-13 11:40:43
Q1:这句 var oSubNav=this.getElementsByTagName('ul')[0]; 表达什么? Q2:if(oSubNav) 为什么可以判断有没有二级导航?<script>window.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){            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.time);                },30)             }          }        //鼠标离开菜单,二级菜单动画收缩起来。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)             }          }}}</script>
查看完整描述

5 回答

?
攻城头狮

TA贡献2条经验 获得超3个赞

//当你鼠标离开li时触发

aLi[i].onmouseout=function(){

            //this.getElementsByTagName('ul')是获取这个li标签里面所有为ul的子元素,[0]是下标,指第一个元素

            var oSubNav=this.getElementsByTagName('ul')[0];//意思是获取鼠标离开的这个li里面的第一个ul

//........
}
查看完整回答
3 反对 回复 2016-06-13
?
老猿

TA贡献86条经验 获得超82个赞

第一个ul元素, getElementsByTagName返回的是一个数组

查看完整回答
反对 回复 2016-06-14
?
刚毅87

TA贡献345条经验 获得超309个赞

Q1:getElementsByTagName 获取的是一个数组

    this.getElementsByTagName('ul')[0]的意思是获取所有的 ul赋值为一个数组,取数组的第一个值

Q2:if(oSubNav)应该等价于 if(oSubNav == true),具体如何判断,不看具体代码,不清楚

查看完整回答
反对 回复 2016-06-13
  • 5 回答
  • 0 关注
  • 2243 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信