重置jQuery手风琴

问题描述 投票:3回答:3

我在一页上有两部手风琴。我想这样,当一个被点击/激活时,另一个手风琴(如果打开)将返回其默认折叠状态。

我试图手动重新创建功能,但它太多了,最终不让我扩展手风琴。

我的代码:

$('#chicago-accordion').accordion({ autoHeight: false, collapsible: true, active:false, });
    $('#chicago-accordion h2').click(function () { 
                $('#ny-accordion .accordion-content').slideUp(); 
                $('#ny-accordion h2').removeClass("ui-state-active"); 
                $('#ny-accordion .accordion-content').removeClass("ui-accordion-content-active"); 
                $('#ny-accordion').accordion({ clearStyle:true, });

         });


$('#ny-accordion').accordion({ autoHeight: false, collapsible: true, active:false, });
    $('#ny-accordion h2').click(function () { 
                $('#chicago-accordion .accordion-content').slideUp();
                $('#chicago-accordion .accordion-content').removeClass("ui-accordion-content-active"); 
                $('#chicago-accordion h2').removeClass("ui-state-active"); 
                $('#chicago-accordion').accordion({ clearStyle:true, });
         });
            });
jquery accordion
3个回答
3
投票

我找到的最简单的解决方案就是破坏并重新创建手风琴。

var options = {autoHeight: false, collapsible: true, active:false};

$('#ac1').accordion(options);
$('#ac2').accordion(options);

$('#ac1').click(function () {
    $('#ac2').accordion('destroy').accordion(options);
});

$('#ac2').click(function () {
    $('#ac1').accordion('destroy').accordion(options);
});

1
投票

这是我用来重置单个手风琴的方法:

$( 'UI状态-active.ui-手风琴报头 ')触发(' 点击');

要重置特定的,您可以使用

$( 'UI的状态active.ui-手风琴header.myclass1 ')的触发器(' 点击')。

$( 'UI的状态active.ui-手风琴header.myclass2 ')的触发器(' 点击')。


0
投票

这将重置您的手风琴,没有选中标签。通过addClass / removeClass / attr重置将使您的手风琴在视觉上看起来很好,但需要2次点击才能激活之前选择的选项卡。

$('.yourAccordion').accordion({
    active: false
});

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.