日期:2014-05-16  浏览次数:20377 次

jquery菜单选项
用jquery如何实现点击一个菜单,同时收拢其他的菜单选项,打开或者关闭当前菜单项。
我的代码是这样写的:
  $(document).ready(function(){
           $(".main>a").click(function(){
              var ulNode = $(this).next("ul");
              ulNode.slideToggle(500);
              var ulNodeblock = $(".main>a").next("ul");
                if(ulNodeblock.css("display")=="block"){
                     ulNodeblock.css("display","none");
                }
            });
  });   
但是这样写,只能保证主菜单1和主菜单2以及主菜单1和主菜单3互相收拢,如果点击主菜单2的时候,再点击主菜单3,那么主菜单2不会收拢,该怎么解决啊?

html代码:
    <ul>
      <li class="main"><a href="#">主菜单1</a>
        <ul>
           <li><a href="#">子菜单11</a></li>
           <li><a href="#">子菜单12</a></li>
           <li><a href="#">子菜单13</a></li>
        </ul>
      </li>
      <li class="main"><a href="#">主菜单2</a>
        <ul>
           <li><a href="#">子菜单21</a></li>
           <li><a href="#">子菜单22</a></li>
           <li><a href="#">子菜单23</a></li>
        </ul>
      </li>
       <li class="main"><a href="#">主菜单3</a>
        <ul>
           <li><a href="#">子菜单31</a></li>
           <li><a href="#">子菜单32</a></li>
           <li><a href="#">子菜单33</a></li>   
        </ul>
       </li>
   <ul/>
jquery菜单

------解决方案--------------------
  $(document).ready(function(){
           $(".main>a").click(function(){
              $('ul li ul').slideDown(500);
              var ulNode =