javascript - 单击javascript关闭 Accordion

标签 javascript jquery html css

我试图在打开 Accordion 元素后在下一次点击时关闭 Accordion 。鉴于我目前的设置方式(如下),实现此目标的最佳方法是什么?我的代码如下:

HTML:

<div class="faq-accordion">                  
    <section id="1">
        <h4><a href="#1">Accordion Title</a></h4>
        <div>
            <p>Accordion Content</p>
         </div>
     </section>
</div>

Javascript:

$(document).ready(function(){

    $('.faq-accordion h4').click(function(){
        if( $(this).next().is(':hidden') ) {
            $('.faq-accordion h4').removeClass('faq-active').next().slideUp();      
            $(this).addClass('faq-active').next().slideDown();
        }
        return false;
    });
});

最佳答案

你可以这样做:

(function($) {

  var accordions = $('.accordion .content').hide();

  $('.accordion .header > a').click(function() {
    accordions.slideUp();
    if($(this).parent().next().is(':visible')) {
        $(this).parent().next().slideUp();
    } else {
        $(this).parent().next().slideDown();
    }
    return false;
  });

})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="accordion">
  <div class="header"><a href="">Accordion title 1</a></div>
  <div class="content">Content 1</div>

  <div class="header"><a href="">Accordion title 2</a></div>
  <div class="content">Content 2</div>

  <div class="header"><a href="">Accordion title 3</a></div>
  <div class="content">Content 3</div>
</div>

如果您有任何问题,请告诉我。

希望对你有帮助。

关于javascript - 单击javascript关闭 Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59417873/

相关文章:

javascript - 选中复选标记时增加 Div 高度

javascript - 我在html中的表格列自动增加

html - 灰度影响容器中的所有内容

javascript - 在 Rails 应用程序中提前输入 : Append JSON request to only one specific request instead of appending JSON request to every request via prefetch

javascript - 如何在 slider 中显示图像

javascript - 保存 JSON 对象键时数组长度和数组元素不正确

javascript - Angular AOT : ERROR in ng component html file : Expected 0 arguments, 但得到 1

javascript - 如何防止在 JQuery 中触发子事件

javascript - 谷歌地图现在显示标记是我添加自定义图标

javascript - 根据选择值隐藏和显示列表项