代码之家  ›  专栏  ›  技术社区  ›  nnmmss

单击新子菜单时关闭上一个打开的子菜单

  •  0
  • nnmmss  · 技术社区  · 2 年前

    我有一个带子菜单的垂直菜单。单击新菜单时,我想关闭上一个计时菜单。我只是可以打开它。但通过这个代码,所有的都保持打开状态。我该怎么做?

    这是HTML代码

      <div class="sidebar ">
         <div class="menu-layout">
             <ul>
                <li class="sub-menu nav-item first-level">
                   <a class="nav-link text-truncate" href="#"><i class="fa icon-users"></i><span data-i18n="" class="menu-title">User Manangement</span>&nbsp;<span class='fa fa-caret-down right'></span></a>
                       <ul>
                          <li class="second-level"><a href="~/admin/users/index">*&nbsp;Users List</a></li>
                                <li class="second-level"> <a href="~/admin/users/Create" class="menu-item">*&nbsp;Register New User *</a></li>
                            </ul>
                        </li>                       
                        <li class="sub-menu nav-item first-level">
                            <a class="nav-link text-truncate" href="#"><i class="fa fa-leaf"></i><span data-i18n="" class="menu-title">Categories</span>&nbsp;<span class='fa fa-caret-down right'></span></a>
                            <ul>
                                <li class="second-level"><a href="~/admin/categories/" class="menu-item">*&nbsp;Category List</a></li>
                                <li class="second-level"><a href="~/admin/categories/addnewcategory" class="menu-item">*&nbsp;New category</a></li>
                            </ul>
                        </li>
                        <li class="sub-menu nav-item first-level">
                            <a class="nav-link text-truncate" href="#"><i class="fa fa-product-hunt"></i><span data-i18n="" class="menu-title"> Products</span>&nbsp;<span class='fa fa-caret-down right'></span></a>
                            <ul>
                                <li class="second-level"><a href="~/admin/products/" class="menu-item">*&nbsp;Products List</a></li>
                                <li class="second-level"> <a href="~/admin/products/addnewproduct" class="menu-item">*&nbsp;New Product </a></li>
                            </ul>
                        </li>
                       <li class="sub-menu nav-item first-level">
                            <a class="nav-link text-truncate" href="#"><i class="fa fa-product-hunt"></i><span data-i18n="" class="menu-title"> Orders</span>&nbsp;<span class='fa fa-caret-down right'></span></a>
                            <ul>
                                <li class="second-level"><a href="~/admin/Orders/" class="menu-item">*&nbsp;Orders List</a></li>
                                
                            </ul>
                        </li>
                    </ul>
                </div>
            </div>
    

    这是js:

      <script>
        $('.sub-menu ul').hide();
        $(".sub-menu a").click(function () {
            $(this).parent(".sub-menu").children("ul").slideToggle("100");
            $(this).find(".right").toggleClass("fa-caret-up fa-caret-down");
        });
    </script>
    

    这就是CSS:

      .menu-layout .first-level {
        margin-bottom: 9px;
        border-radius: 5%;
        padding: 2px 10px 2px 10px;
        line-height: 15px;
    }
    
    .second-level {
        margin-bottom: 9px;       
        padding: 2px 50px 2px 10px;
        line-height: 15px;
    }
    
        .menu-layout li a {
            color: white !important;
            font-size: 13px;
        }
    
            .menu-layout li a i {
                color: white;
                padding-left: 10px
            }
    
    
    .sidebar {
        position: fixed;
        top: 1px;
        width: 250px;
        height: calc(100% - 1px);
        border-bottom-left-radius: 20px;
        transition: all 0.3s ease;
        background-color:black;
        font-family: IRANSans;
        font-weight: 400;
    }
    
    0 回复  |  直到 2 年前
        1
  •  1
  •   Rok Benko    2 年前

    给你。。。

    只要改变这个。。。

    $(document).ready(function () {
        $(".sub-menu ul").hide();
        $(".sub-menu a").click(function () {
            $(this).parent(".sub-menu").children("ul").slideToggle("100");
            $(this).find(".right").toggleClass("fa-caret-up fa-caret-down");
        });
    });
    

    …到此为止。

    $(document).ready(function () {
        $(".sub-menu ul").hide();
        $(".sub-menu a").click(function () {
            $(".sub-menu ul").not(this).hide(); // Hide everything, but not "this".
            $(this).parent(".sub-menu").children("ul").slideToggle("100");
            $(this).find(".right").toggleClass("fa-caret-up fa-caret-down");
        });
    });
    

    $(document).ready(function() {
      $(".sub-menu ul").hide();
      $(".sub-menu a").click(function() {
        $(".sub-menu ul").not(this).hide(); // Hide everything, but not "this".
        $(this).parent(".sub-menu").children("ul").slideToggle("100");
        $(this).find(".right").toggleClass("fa-caret-up fa-caret-down");
      });
    });
    .menu-layout .first-level {
      margin-bottom: 9px;
      border-radius: 5%;
      padding: 2px 10px 2px 10px;
      line-height: 15px;
    }
    
    .second-level {
      margin-bottom: 9px;
      padding: 2px 50px 2px 10px;
      line-height: 15px;
    }
    
    .menu-layout li a {
      color: white !important;
      font-size: 13px;
    }
    
    .menu-layout li a i {
      color: white;
      padding-left: 10px
    }
    
    .sidebar {
      position: fixed;
      top: 1px;
      width: 250px;
      height: calc(100% - 1px);
      border-bottom-left-radius: 20px;
      transition: all 0.3s ease;
      background-color: black;
      font-family: IRANSans;
      font-weight: 400;
    }
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
    
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    
    </head>
    
    <body>
    
      <div class="sidebar ">
        <div class="menu-layout">
          <ul>
            <li class="sub-menu nav-item first-level">
              <a class="nav-link text-truncate" href="#"><i class="fa icon-users"></i><span data-i18n="" class="menu-title">User Manangement</span>&nbsp;<span class="fa fa-caret-down right"></span></a>
              <ul>
                <li class="second-level"><a href="~/admin/users/index">*&nbsp;Users List</a></li>
                <li class="second-level"> <a href="~/admin/users/Create" class="menu-item">*&nbsp;Register New User *</a></li>
              </ul>
            </li>
            <li class="sub-menu nav-item first-level">
              <a class="nav-link text-truncate" href="#"><i class="fa fa-leaf"></i><span data-i18n="" class="menu-title">Categories</span>&nbsp;<span class="fa fa-caret-down right"></span></a>
              <ul>
                <li class="second-level"><a href="~/admin/categories/" class="menu-item">*&nbsp;Category List</a></li>
                <li class="second-level"><a href="~/admin/categories/addnewcategory" class="menu-item">*&nbsp;New category</a></li>
              </ul>
            </li>
            <li class="sub-menu nav-item first-level">
              <a class="nav-link text-truncate" href="#"><i class="fa fa-product-hunt"></i><span data-i18n="" class="menu-title"> Products</span>&nbsp;<span class="fa fa-caret-down right"></span></a>
              <ul>
                <li class="second-level"><a href="~/admin/products/" class="menu-item">*&nbsp;Products List</a></li>
                <li class="second-level"> <a href="~/admin/products/addnewproduct" class="menu-item">*&nbsp;New Product </a></li>
              </ul>
            </li>
            <li class="sub-menu nav-item first-level">
              <a class="nav-link text-truncate" href="#"><i class="fa fa-product-hunt"></i><span data-i18n="" class="menu-title"> Orders</span>&nbsp;<span class="fa fa-caret-down right"></span></a>
              <ul>
                <li class="second-level"><a href="~/admin/Orders/" class="menu-item">*&nbsp;Orders List</a></li>
    
              </ul>
            </li>
          </ul>
        </div>
      </div>
    
    </body>
    
    </html>