javascript - 隐藏激活的子菜单(切换)

标签 javascript jquery html css menu

我有一个很好用的代码 - 但是..我有 2 个子菜单。 当我单击 A 时,它可以正常打开,但是当我单击 B 时,A 不会关闭,所以我现在打开了 2 个子菜单。 我希望 B 在我单击 A 时关闭(如果它被单击)。

$(document).ready(function() {
  $('.submenu').hide();
  $("li:has(ul)").click(function() {
    $("ul", this).toggle('slow');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><a href="link">Menu</a></li>
  <li><a href="link">Menu</a></li>
  <li>
    <ul class="submenu">
      <li><a href="link">Menu</a></li>
      <li><a href="link">Menu</a></li>
    </ul>
  </li>
  <li>
    <ul class="submenu">
      <li><a href="link">Menu</a></li>
      <li><a href="link">Menu</a></li>
    </ul>
  </li>
  <li><a href="link">Menu</a></li>
</ul>

最佳答案

在您的点击事件中添加 $('.submenu').hide();:

$(document).ready(function() {
    $('.submenu').hide();
    $("li:has(ul)").click(function() {
    		$('.submenu').hide();
        $("ul", this).toggle('slow');
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li><a href="#">Menu</a></li>
    <li><a href="#">Menu</a></li>
    <li>
        <ul class="submenu">
            <li><a href="#">Menu</a></li>
            <li><a href="#">Menu</a></li>
        </ul>
    </li>
    <li>
        <ul class="submenu">
            <li><a href="#">Menu</a></li>
            <li><a href="#">Menu</a></li>
        </ul>
    </li>
    <li><a href="#">Menu</a></li>
</ul>

关于javascript - 隐藏激活的子菜单(切换),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49154348/

相关文章:

html - 如何在填充其余容器高度的同时使元素可滚动

html - 在CSS中设置最大字符长度

javascript - 捕获句点但不捕获内部链接

javascript - 在 JavaScript 中访问 FancyTree 节点数据

javascript - 使用 jQuery 删除多个文本区域框

javascript - find 无法从 jquery 中的 dom 中选择数据

javascript - 按即将到来的日期对日期为字符串的数组进行排序

javascript - 检查对象值是否等于字符串值

jquery - 如何从jquery中的blade模板获取数组?

php - 如何为具有相同类 id 但要调用的不同 url 的给定列表 anchor 标记调用 ajax