带有多个 div 的 Javascript SlideUp

标签 javascript jquery html css

现在,我只能激活一个过滤器。如果我尝试点击另一个过滤器,它会取消第一个过滤器。我怎样才能让他们都保持活跃?

这是我的代码:

https://jsfiddle.net/0x43v59b/2/

html:

<div class="header-box">
  <div class="header-click">
    <h5>Publish Year</h5>
  </div>
  <div class="no-display">
    <p>test1</p>
  </div>
</div>

<div class="header-box">
  <div class="header-click">
    <h5>Condition</h5>
  </div>
  <div class="no-display">
    <p>test2</p>
  </div>
</div>

<script>
  $('.header-click').on('click', function() {
    $parent_filter = $(this).closest('.header-box');
    $parent_filter.siblings().find('.no-display').slideUp();
    $parent_filter.find('.no-display').slideToggle(500, 'swing');
  });
</script>

CSS:

.header-click {
  cursor: pointer;
}
.no-display {
  display: none;
}
.header-box {
  margin-bottom: 15px;
}

最佳答案

你只需要摆脱这一行: $parent_filter.siblings().find('.no-display').slideUp();

它检查所有类为“.no-display”的 sibling 并将它们向上滑动

<script>
  $('.header-click').on('click', function() {
    $parent_filter = $(this).closest('.header-box');
    //$parent_filter.siblings().find('.no-display').slideUp();
    $parent_filter.find('.no-display').slideToggle(500, 'swing');
  });
</script>

关于带有多个 div 的 Javascript SlideUp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46175223/

相关文章:

javascript - 通过 jQuery 用它的索引替换 html 元素

jQuery 根据值调用函数?

html - 将标题悬停在一行中

php - 将 & 号插入 MySQL 的问题

javascript - Linnworks 的 AJAX 请求

javascript - 带 React 的 TinyMCE 编辑器无法访问本地文件

javascript - 查看 json 并单击该 json 中的 links.json 并将其替换为当前的 json View

javascript - 带有嵌套 iframe 的 Jquery Auto Height iframe

html - 为什么 .NET Razor 中的这些 HTML 元素有由换行引起的额外间距?

javascript - 在不影响页面的文本周围添加 html 元素(用于工具提示)