html5 手风琴菜单

因为项目需要,现在需要做个手风琴菜单,于是自己就瞎整了一下,所用只是less.js  javascript  jquery效果如图:

具体代码如下:

 <!DOCTYPE html>

<html>
  <head>
   <title></title>
   <style type="text/less">
          
     .list{
         list-style-image: url(../images/shang.png);
         background:#E0E0E0;
         line-height:2em        
     }
    
      .list1{
         list-style-type:none;
         background:#E0E0E0;
         line-height:2em        
     }
    
     .liBox{
       .list1;
       .listbox{
         .list;
         .div1{
           margin-left:20px
         }
       }
     }  
   </style>

  </head>
  <body>
     <div>
       <ul>
          <li id="liBox" class="liBox">
            <ul>
             <li  id="listbox" class="listbox" onclick="toggleClick(this)" >测试</li>
             <div id="box" class="box" hidden>
                <div onclick="test(this)">这是一个测试1</div>
                <div onclick="test(this)">这是一个测试2</div>
                <div onclick="test(this)">这是一个测试3</div>
                <div onclick="test(this)">这是一个测试4</div>
                <div onclick="test(this)">这是一个测试5</div>
                <div onclick="test(this)">这是一个测试6</div>
             </div>
            
               <div hidden>
                  <li id="listboxC" class="listbox" onclick="toggleClick(this)">测试101</li>
                    <div hidden>
                       <div onclick="test(this)">这是一个测试1010</div>
                       <div onclick="test(this)">这是一个测试1011</div>
                       <div onclick="test(this)">这是一个测试1012</div>
                       <div onclick="test(this)">这是一个测试1013</div>
                       <div onclick="test(this)">这是一个测试1014</div>
                    </div>
               </div>
            </ul>
          </li>
             

           <li id="liBox1" class="liBox">
            <ul>
             <li  id="listbox1" class="listbox" onclick="toggleClick(this)">测试1</li>
             <div id="box" class="box" hidden>
                <div onclick="test(this)">这是一个测试7</div>
                <div onclick="test(this)">这是一个测试8</div>
                <div onclick="test(this)">这是一个测试9</div>
                <div onclick="test(this)">这是一个测试10</div>
                <div onclick="test(this)">这是一个测试11</div>
                <div onclick="test(this)">这是一个测试12</div>
             </div>
            </ul>
          </li>
          
           <li id="liBox2" class="liBox">
            <ul>
             <li  id="listbox2" class="listbox" onclick="toggleClick(this)">测试2</li>
             <div id="box" class="box" hidden>
                <div onclick="test(this)">这是一个测试13</div>
                <div onclick="test(this)">这是一个测试14</div>
                <div onclick="test(this)">这是一个测试15</div>
                <div onclick="test(this)">这是一个测试16</div>
                <div onclick="test(this)">这是一个测试17</div>
                <div onclick="test(this)">这是一个测试18</div>
             </div>
            </ul>
          </li>
          
           <li id="liBox3" class="liBox">
            <ul>
             <li id="listbox3" class="listbox" onclick="toggleClick(this)">测试3</li>
             <div id="box" class="box" hidden>
                <div onclick="test(this)">这是一个测试19</div>
                <div onclick="test(this)">这是一个测试20</div>
                <div onclick="test(this)">这是一个测试21</div>
                <div onclick="test(this)">这是一个测试22</div>
                <div onclick="test(this)">这是一个测试23</div>
                <div onclick="test(this)">这是一个测试24</div>
             </div>
            </ul>
          </li>
         </ul>
  </body>
</html>

 
    <script language="JavaScript" type="text/JavaScript" src="../bootstrap/js/less.min.js"></script>
   <script language="JavaScript" type="text/JavaScript" src="../bootstrap/js/jquery.min.js"></script>
  <script type="text/javascript">
      
     function toggleClick(evl){
         $("#"+evl.id).nextAll().toggle();
            if($("#"+evl.id).nextAll().is(":hidden")){
            document.getElementById(evl.id).style.listStyleImage="url(../images/shang.png)";
            } else{
             if($(evl).attr("class")=="listbox"){
                 document.getElementById(evl.id).style.listStyleImage="url(../images/xia.png)";
             }
            }
     }
     function test(evl){
        alert(evl.innerText);
     }
  </script>

一开始不想写的,但是想了一下还是随便的写一下吧。在代码的简化上也许还存在一些问题。因为我项目中是动态加载的数据,所以也就没改正。请各位包含。
 

原文地址:https://www.cnblogs.com/zhousen34/p/6008649.html