重置jQuery手风琴

时间:2009-07-21 00:38:45

标签: jquery accordion

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

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

我的代码:

$('#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, });
         });
            });

3 个答案:

答案 0 :(得分: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 :(得分:1)

以下是我用来重置单曲手风琴的内容:

  

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

要重置特定的,可以使用

  

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

     

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

答案 2 :(得分:0)

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

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

由于