jQuery手风琴 - 当另一个开放时,如何折叠其他开放式手风琴窗格

时间:2011-08-04 18:47:50

标签: jquery jquery-ui-accordion

我有一个手风琴,我希望有以下功能:当用户点击要展开的链接时,其他展开的链接(如果有)将崩溃。我知道这个功能是在accordion插件中构建的,但我试图避免添加另一个库(jQuery UI)。

编辑:这是我现在的代码(这里是jsFiddle:http://jsfiddle.net/s2Jfs/2/):

    $('.accordion-toggler').addClass('toggle-plus');

    $('.accordion-toggler').click(function() {
        $this = $(this);
        if($this.hasClass('toggle-plus')) {
            $this.removeClass('toggle-plus').addClass('toggle-minus');
        } else {
            $this.removeClass('toggle-minus').addClass('toggle-plus');
        }
        $this.next('.mod-content').slideToggle();
    });

“mod-content”类附加到应展开/折叠的内容。现在,如果展开一个项目,将其保持打开状态,然后单击另一个项目,则会有多个扩展区域。如何折叠除活动链接之外的其他链接?

1 个答案:

答案 0 :(得分:2)

你使这种方式变得更加复杂。如果您只想让其中一个向下滑动而其他人向下滑动,请使用以下代码...

$('.accordion-toggler').click(function() {
    var targetElement = $(this).next('.mod-content');
    targetElement.slideToggle();
    targetElement.siblings('.mod-content').slideUp();
});