javascript - 第二次单击 JQUERY 时使 Accordion 关闭

标签 javascript jquery html accordion jquery-ui-accordion

我制作了 JQUERY Accordion ,效果很好。

HTML:

<div id="accordion">

<div class="title"><span>Accordian 1</span></div>
<div class="hide">

  <p>hidden content</p>

</div>

<div class="title"><span>Accordian 2</span></div>
<div class="hide">

  <p>hidden content</p>

</div>


<div class="title"><span>Accordian 3</span></div>
<div class="hide">

   <p>hidden content</p>

</div>

<div class="title"><span>Close all the accordions</span></div>

</div>

JQUERY

$(document).ready(function() {

    $('#accordion .hide').hide();
   $('#accordion .title span').click(function(){
           $('#accordion .hide').slideUp();
           $(this).parent().next().slideDown();

           return false;
   });

});

我想要的是当用户单击 Accordion 将其打开,然后第二次单击它时它将关闭。

因此,第一次点击 = 打开,点击 2 次 = 关闭。

我该如何解决这个问题?

谢谢

最佳答案

HTML:

<div id="accordion">
<div class="title"><span>Accordian 1</span></div>
<div class="hide">
  <p>hidden content</p>
</div>
<div class="title"><span>Accordian 2</span></div>
<div class="hide">
  <p>hidden content</p>
</div>
<div class="title"><span>Accordian 3</span></div>
<div class="hide">
   <p>hidden content</p>
</div>
<div class="close"><span>Close all the accordions</span></div>
</div>

使用slideToggle() ,在 slideUpslideDown

之间切换
$(document).ready(function() {    
   $('#accordion .hide').hide();
   $('#accordion .title span').click(function(){
           $(this).parent().next()
                  .slideToggle()
                  .siblings('.hide').slideUp();
           return false;
   });
    $('.close').click(function(){
        $('#accordion .hide').slideUp();
    });
});

Fiddle Demo

关于javascript - 第二次单击 JQUERY 时使 Accordion 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649839/

相关文章:

javascript - jQuery.on ('click' ) 在 jQuery.click 之前?

html - 在 html 页面中显示标签

仅用不间断空格替换多个空格的 Java 正则表达式

javascript - 为什么当 src 在 bootstrap 4 模态中使用 jQuery 是动态的时 HTML5 视频标签不起作用?

jquery - 使用 jQuery 过滤带有 on data 属性的表

javascript - jQuery:选择器不适用于 ajax 加载的内容

javascript - 如何使 div 在悬停时正确隐藏,同时尝试使 gif 也在悬停时开始

javascript - npm run-script ssr(服务器端渲染不起作用)

javascript - 带有嵌套对象的 AngularJS 过滤器

javascript - 总是在向下滚动后不再显示 DIV 时立即显示它?