zoukankan      html  css  js  c++  java
  • js树状菜单

    html部分

    <ul class="tree">
      <li><span><a href="#">JavaScript</a></span>
        <ul>
          <li><span><a href="#">JavaScript</a></span>
            <ul>
              <li><span><a href="#">JavaScript</a></span>
                <ul>
                  <li><a class="active" href="#">AngularJS</a></li>
                  <li><a href="#">React</a></li>
                  <li><a href="#">Backbone</a></li>
                </ul>
              </li>
              <li><a href="#">jQuery UI</a></li>
              <li><a href="#">jQuery Mobile</a></li>
            </ul>
          </li>
          <li><span><a href="#">JavaScript</a></span>
            <ul>
              <li><a class="active" href="#">AngularJS</a></li>
              <li><a href="#">React</a></li>
              <li><a href="#">Backbone</a></li>
            </ul>
          </li>
          <li><span><a href="#">JavaScript</a></span>
              <ul>
                <li><a class="active" href="#">AngularJS</a></li>
                <li><a href="#">React</a></li>
                <li><a href="#">Backbone</a></li>
              </ul>
          </li>
        </ul>
      </li>
    </ul>

    css部分

    *{list-style:none;border:none;}
    body{font-family:Arial;background-color:#2C3E50;}
    .tree {  color:#46CFB0;width:800px;margin:100px auto;}
    .tree li,
    .tree li > a,
    .tree li > span {
        padding: 4pt;
        border-radius: 4px;
    }
    
    .tree li a {
       color:#46CFB0;
        text-decoration: none;
        line-height: 20pt;
        border-radius: 4px;
    }
    
    .tree li a:hover {
        background-color: #34BC9D;
        color: #fff;
    }
    
    .active {
        background-color: #34495E;
        color: white;
    }
    
    .active a {
        color: #fff;
    }
    
    .tree li a.active:hover {
        background-color: #34BC9D;
    }
    span:before{
      content:'+';
      display: inline-block;
      margin-right: 4px;
    }
    .on:before{
      content:'-';
    }

    js部分

     var span=document.getElementsByTagName('span');
      var li=[];
      var s=[];
      for(var i=0;i<span.length;i++){
        li.push(span[i].parentNode); //获取父级元素li
      }
      for(var j=0;j<li.length;j++){
          if(li[j].childNodes[2]){
            s.push(li[j].childNodes[2]);//获取子元素第三个ul
          } 
        }
      for(var i=0;i<s.length;i++){//隐藏全部ul
        s[i].style.display='none';
      }
      for(var i=0;i<span.length;i++){
        span[i].index=i;
        span[i].onclick=function(){//点击哪个显示哪个
          if(s[this.index].style.display=='none'){
             s[this.index].style.display='block';
             this.className='on';
           }else{
            s[this.index].style.display='none';
             this.className='';
           }
         
        }
      }
  • 相关阅读:
    java虚拟机字节码执行引擎
    java7 invokedynamic命令深入研究
    [转载]使用expect实现shell自动交互
    elasticsearch 聚合时 类型转换错误
    ES的关键端口
    CentOS6.5安装ganglia3.6
    Linux远程执行echo问题
    [转载]CentOS修改用户最大进程数
    elasticsearch新加入节点不能识别问题
    ssh免密码登录的注意事项
  • 原文地址:https://www.cnblogs.com/aSnow/p/8759558.html
Copyright © 2011-2022 走看看