当用户打开一个下拉菜单时关闭其他下拉菜单

用户名

我希望当用户单击一个下拉菜单时所有其他打开的下拉菜单都处于关闭状态。我在谷歌中寻找答案,但这对我的下拉菜单不起作用,我知道这很简单,但是我无法帮助我!

<div class="hh_drop_down">
<ul class="hh_main">

   <li class="hh_main_menu">
    <a href="javascript:void(0);" class="hh_sf">Chemicals</a>
     <ul class="hh_inner">
        <li><a href="#">Additives / Boosters</a></li>
        <li><a href="#">Anti-Allergen</a></li>
        <li><a href="#">Concrete</a></li>
    </ul>
  </li>

  <li  class="hh_main_menu" >
    <a class="hh_sf" href="#">Equipment</a>
      <ul class="hh_inner">
        <li><a href="#">Deodorization</a></li>
        <li><a href="#">Duct Cleaning Equipment</a></li>
        <li><a href="#">Hard Surface</a></li>
     </ul>

  </li>

   <li  class="hh_main_menu" >
     <a class="hh_sf" href="#">Accessories</a>
      <ul class="hh_inner">
          <li><a href="#">Bonnets/Pads</a></li>
          <li><a href="#">Brush/Rake/Sponge</a></li>
        <li><a href="#">Carpet Rakes</a></li>
      </ul>
   </li>

</ul>
</div>

我在这使用的jQuery:

<script>
 $(document).ready(function(){
     $(".hh_main").on('click' , '.hh_sf' , function(event){
       event.preventDefault();
        if($(this).next().hasClass('hh_inner')) { 
        $(this).next().slideToggle();
     }
   });
});
</script>
111

试试这个:

HTML:

<div class="hh_drop_down">
    <ul class="hh_main">

        <li class="hh_main_menu">
            <a href="javascript:void(0);" class="hh_sf">Chemicals</a>
            <ul class="hh_inner expanded">
                <li><a href="#">Additives / Boosters</a></li>
                <li><a href="#">Anti-Allergen</a></li>
                <li><a href="#">Concrete</a></li>
            </ul>
        </li>

        <li class="hh_main_menu">
            <a class="hh_sf" href="#">Equipment</a>
            <ul class="hh_inner expanded">
                <li><a href="#">Deodorization</a></li>
                <li><a href="#">Duct Cleaning Equipment</a></li>
                <li><a href="#">Hard Surface</a></li>
            </ul>

        </li>

        <li class="hh_main_menu">
            <a class="hh_sf" href="#">Accessories</a>
            <ul class="hh_inner expanded">
                <li><a href="#">Bonnets/Pads</a></li>
                <li><a href="#">Brush/Rake/Sponge</a></li>
                <li><a href="#">Carpet Rakes</a></li>
            </ul>
        </li>

    </ul>
</div>

jQuery的:

<script>
    $(document).ready(function () {
        $(".hh_sf").next().addClass("collapsed").slideUp();

        $(".hh_main").on('click', '.hh_sf', function (event) {
            event.preventDefault();
            var currentClass = $(this).next().prop('class');
            if (currentClass == "hh_inner expanded") {
                $(this).next().removeClass("expanded");
                $(this).next().addClass("collapsed");
                $(this).next().slideUp();
            } else {
                $(".expanded").slideUp().addClass("collapsed").removeClass("expanded");

                $(this).next().removeClass("collapsed");
                $(this).next().addClass("expanded");
                $(this).next().slideDown();
            }

        });
    });
</script>

JsFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

一次显示一个下拉菜单,然后关闭其他下拉菜单

点击关闭其他下拉菜单

当用户单击下拉菜单时如何隐藏下拉菜单

打开其他下拉菜单时关闭下拉菜单

选择上一个下拉菜单时,将显示新的下拉菜单

ReactJS下拉菜单,在打开当前菜单之前关闭其他菜单

打开另一个时如何关闭相邻的下拉菜单

为什么右键单击在OpenCV imshow()窗口中打开一个下拉菜单?

打开菜单下拉菜单后,关闭其他菜单-Javascript

reactjs下拉菜单关闭打开菜单

如何使用javaScript从其他下拉菜单中选择一个下拉菜单项?

当其他下拉菜单切换为活动状态时,关闭下拉菜单

关闭下拉菜单,同时在引导程序中打开另一个菜单

Javascript 3下拉菜单。更改一个下拉菜单时,请为其他两个下拉菜单设置默认值。需要优化

当用户单击下拉菜单的一侧时,如何隐藏下拉菜单?

当用户单击页面其他位置时如何关闭自定义下拉菜单

当用户在正文或外部下拉菜单上单击任意位置时,下拉菜单关闭

从所有下拉菜单中选择一个时,如何禁用其他下拉菜单

当其他下拉菜单处于活动/打开状态时,将自动隐藏/关闭下拉菜单

当用户从下拉菜单中选择一个选项时,如何更新任何归档的文本?

一次仅打开一个引导程序下拉菜单

打开另一个时导航下拉菜单不会关闭

单击另一个关闭下拉菜单

下拉菜单 - 一次只打开一个菜单

如果另一个下拉菜单打开,我如何关闭下拉菜单

如果单击另一个下拉菜单,如何使下拉菜单自动关闭?

打开一个下拉菜单,用 JavaScript 关闭另一个

当另一个下拉菜单打开时隐藏侧面菜单中的一个下拉菜单

单击不同的下拉菜单时关闭下拉菜单