我正在使用jQuery Accordion
并且需要知道面板何时完成加载。我知道我需要绑定accordionchange
事件,但我真的很困惑,我将如何知道面板何时打开。
如果我只是将alert()
放在面板打开后显示的功能内,但它也会在面板关闭后显示:
$("#campaigns").accordion({
event: 'click',
active: false,
collapsible: true,
autoHeight: false,
heightStyle: "content"
}).bind("accordionchange", function(event, ui) {
alert('Panel opened and closed');
});
我怎么才能知道面板何时完成开放?
答案 0 :(得分:2)
http://api.jqueryui.com/accordion/#event-activate - 查看事件 - 在面板激活(打开)时触发。
答案 1 :(得分:1)
最后让它按我想要的方式工作。以下是打开面板时的方式:
$("#campaigns").accordion({
event: 'click',
active: false,
collapsible: true,
autoHeight: false,
heightStyle: "content",
change: function(event, ui) {
// See if we are opening a panel
var allOpen = ui.oldHeader.length == 1 && ui.newHeader.length == 1 && ui.oldContent.length == 1 && ui.newContent.length == 1;
var newOpen = ui.newHeader.length == 1 && ui.newContent.length == 1;
if (allOpen || newOpen) {
// Do something here each time the panel is opened
}//end if
}//end change
});
奇怪的是,change
似乎没有记录......