javascript - onclick一个元素,div的滑动切换

标签 javascript jquery html css

我正在尝试使用 jquery 以 Accordion 风格打开/关闭 div。但由于某种原因,jquery 中的 next() 似乎无法正常工作。我希望当点击一个标题时,除了被点击的那个之外,所有其他的 div 都应该被关闭。

HTML 代码 --

<div class="office-row">
  <h3 class="office-title">Title</h3>
</div>
<div class="office">sadasd</div>
<div class="office-row">
  <h3 class="office-title">Title</h3>
</div>
<div class="office">sadasd</div>
<div class="office-row">
  <h3 class="office-title">Title</h3>
</div>

演示 -- https://jsfiddle.net/v3hc19np/1/

非常感谢任何帮助。

最佳答案

就像其他人所说的那样,标题附近没有$.next('div'),所以我移动了.office 以便该元素现在相邻给它。已更新为您的原始 HTML。

$(function() {
  var $titles = $('.office-title'),
      $offices = $('.office');
  $titles.on('click', function() {
    var $target = $(this).parent('.office-row').next('.office');
    $target.slideToggle();
    $offices.not($target).slideUp();
  });
});
.office {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="office-row">
  <h3 class="office-title">Title</h3>
</div>
<div class="office">sadasd</div>
<div class="office-row">
  <h3 class="office-title">Title</h3>
</div>
<div class="office">sadasd</div>
<div class="office-row">
  <h3 class="office-title">Title</h3>
</div>
<div class="office">sadasd</div>

关于javascript - onclick一个元素,div的滑动切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43144965/

相关文章:

javascript - 在另一个 GM 脚本加载后加载我的 Greasemonkey 脚本

javascript - 使宽度不相对于父级

javascript - 从表 jQuery 中删除空行

javascript - 最好将一些大型或多个小型商店与 React 和 Reflux 一起使用

javascript - 尝试在 Linux 上使用 Node 运行 hello.js 脚本

javascript - API Forismatic JSON : Random Quote Machine

javascript - 如何在单击后退按钮时刷新页面?

jquery - 根据屏幕尺寸更改滚动时的 css

javascript - 如何使用js一次性选中一个复选框并取消选中其他复选框

JavaScript:调用类对象上的私有(private)方法的属性