我在一页上有两部手风琴。我想这样,当一个被点击/激活时,另一个手风琴(如果打开)将返回其默认折叠状态。
我试图手动重新创建功能,但它太多了,最终不让我扩展手风琴。
我的代码:
$('#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, });
});
});
我找到的最简单的解决方案就是破坏并重新创建手风琴。
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);
});
这是我用来重置单个手风琴的方法:
$( 'UI状态-active.ui-手风琴报头 ')触发(' 点击');
要重置特定的,您可以使用
$( 'UI的状态active.ui-手风琴header.myclass1 ')的触发器(' 点击')。
$( 'UI的状态active.ui-手风琴header.myclass2 ')的触发器(' 点击')。
这将重置您的手风琴,没有选中标签。通过addClass / removeClass / attr重置将使您的手风琴在视觉上看起来很好,但需要2次点击才能激活之前选择的选项卡。
$('.yourAccordion').accordion({
active: false
});
谢谢