在 jQuery 中,SlideToggle 打开滑块时出现问题

3
我有一个jQuery函数,它应该下拉并上拉一些
  • 元素下的子菜单。
    <li class="subtop"><a href="#">Sample 1</a>
        <ul class="sub-menu">
               <li><a href="#">Sample 1 - 1</a></li>
               <li><a href="#">Sample 1 - 2</a></li>
        </ul>
    </li>  
    .....
    <li class="subtop"><a href="#">Sample 6</a>
        <ul class="sub-menu">
               <li><a href="#">Sample 6 - 1</a></li>
               <li><a href="#">Sample 6 - 2</a></li>
        </ul>
    </li>  
    

    而 jQuery 就像这样:

    $(".subtop").click(function(ev){
       ev.stopPropagation();
       $(this).each(function(){
       $(".sub-menu", this).slideToggle();
      });
    });
    

    这段代码使得被点击元素的子菜单上下滑动,但是当我点击另一个子菜单时,无法关闭已经打开的子菜单。请问如何解决这个问题?

    谢谢。

  • 1个回答

    1

    试试这个:

    $(".subtop").click(function(ev){
       ev.stopPropagation();
       $(".sub-menu").slideUp();
       $(this).each(function(){
       $(".sub-menu", this).slideToggle();
      });
    });
    

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接