js实现二级菜单显示和收缩

Posted blogging

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js实现二级菜单显示和收缩相关的知识,希望对你有一定的参考价值。

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);
                },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)
             }
          }
        
    }
}
<ul class="nav">
    <li><a href="#">一级菜单</a>
        <ul class="subNav">
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
        </ul>
    </li>
    <li><a href="#">一级菜单</a>
        <ul class="subNav">
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
            <li><a href="#">二级菜单</a></li>
        </ul>
    </li>
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
</ul>

 

以上是关于js实现二级菜单显示和收缩的主要内容,如果未能解决你的问题,请参考以下文章