jquery - 切换一个 <div> 并关闭另一个?

标签 jquery toggle

我刚刚开始练习 jQuery,并编写了这个小片段来打开菜单项上的下拉菜单。问题是,如果我打开另一个下拉列表,我想关闭事件的下拉列表。

$(document).ready(function(){
  $(".dropdown").click(function(){ 
    $(this).children(".hidden").slideToggle(300);
  });
});

如何扩展该代码?

问候 帕特里克

最佳答案

您可以选择除单击的元素之外的所有下拉元素(通过使用 .not() method 否定 this ),然后调用 .slideUp() 方法在子 .hidden 元素上:

$(".dropdown").click(function(){
  $(".dropdown").not(this).children(".hidden").slideUp();
  $(this).children(".hidden").slideToggle(300);
});

这是一个基本示例:

$(".dropdown").click(function(){
  $(".dropdown").not(this).children(".hidden").slideUp();
  $(this).children(".hidden").slideToggle(300);
});
.hidden { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown">
  <button>Dropdown</button>
  <div class="hidden">Some hidden dropdown menu</div>
</div>

<div class="dropdown">
  <button>Dropdown</button>
  <div class="hidden">Some hidden dropdown menu</div>
</div>

<div class="dropdown">
  <button>Dropdown</button>
  <div class="hidden">Some hidden dropdown menu</div>
</div>

关于jquery - 切换一个 <div> 并关闭另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34843322/

相关文章:

batch-file - 如何使用 Batch 在可滚动菜单中制作一系列切换开关?

javascript - 切换可见性(从 2 个 DIV 开始;如果 1 个 DIV 可见,则另一个不可见,反之亦然)

javascript - 如何使用 jQuery 解码 UTF8 字符?

javascript - 在 javascript 中的元素中添加/删除类名之间切换

javascript - jQuery 切换不适用于复选框,div 仍显示 :block

javascript - 使用 PHP、CSS、JavaScript 或任何可能的方式为不同帐户级别模糊图像

javascript - 从切换列表中获取值

jquery - 如何将其他数据添加到AJAX文件上传中

Javascript/jQuery 更改内联样式值

php - 在新选项卡中打开外部 WooCommerce 产品 - 添加属性目标 ="_blank"