【问题标题】:Button to expand and collapse all on jQuery accordion在 jQuery 手风琴上展开和折叠所有按钮
【发布时间】:2014-12-11 00:08:13
【问题描述】:

我有一个简单的 jQuery 手风琴,它需要在顶部有一个按钮用于“展开/折叠所有”。

到目前为止,我已经让它工作了,除了一些项目已经显示并且单击按钮时,“其他”项目展开/折叠 - 让已经打开的项目做相反的事情。

我需要找到某种重置方式,基本上可以关闭并重新打开所有项目,反之亦然。

有关手风琴和折叠的代码,请参见下面的代码:

<script type="text/javascript">
(function($) {
    $(function() {
        $(".faq-accordion > div").accordion({ header: "h4", collapsible: true, active: false, speed: 10000, });
    })
})(jQuery);
</script>

<script>
$(document).ready(function() {
$('.show-all-applying').click(function() {
    $('.faq-accordion div div').slideToggle("fast");
});
});
</script>

谢谢!

编辑:Here is a JSFiddle 显示到目前为止的所有内容(内容已更改)

问题是我需要:

  1. 使“显示全部”按钮在第二次单击后也隐藏所有内容。
  2. 点击关闭的问题有时需要点击两次,不知道为什么。

【问题讨论】:

    标签: javascript jquery accordion jquery-ui-accordion


    【解决方案1】:

    不要使用slideToggle(),而是使用slideUp() ;)

    SlideToggel 将向上滑动的所有内容和向下的所有内容。

    你想让所有东西都向上滑动,所以使用 slideUp()

    编辑:我修改了你的 jsfiddle,让它工作了。当用户单击“显示全部”按钮时,它将检查文本是什么。因此,在这种情况下,“全部显示”,它将全部向下滑动。然后它将文本更改为“全部隐藏”。如果用户单击“全部隐藏”,它将全部向上滑动。如果您在这种情况下使用 slideToggle,如果用户单击问题标题,它也将起作用 BUT,它会打开然后单击显示所有它会 CLOSE被点击的问题标题并打开所有其他问题!

    WORKING FIDDLE

    【讨论】:

    • 效果很好,谢谢。有没有办法让按钮在第二次点击时将所有内容向下滑动,等等?如果可能的话,我想避免使用 2 个单独的“向上”和“向下”按钮。
    • 我已经用 JSFiddle 链接编辑了问题并澄清了问题
    • 太完美了。感谢您的帮助!
    • 另一件事...是否可以将每个问题的打开/关闭动画加速到与“全部打开/关闭”相同的速度?
    猜你喜欢
    • 2021-11-10
    • 2015-11-29
    • 1970-01-01
    • 2019-08-26
    • 2011-06-19
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多