jQuery Accordion知道面板何时完成打开

jQuery Accordion know when panel finished opening

本文关键字:何时完 Accordion jQuery      更新时间:2023-09-26

我正在使用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');
});

我怎么能只知道面板何时完成打开

http://api.jqueryui.com/accordion/#event-activate-查看事件-当面板被激活(打开)时,它会被触发。

终于按照我的意愿工作了。以下是我打开面板时的了解方式:

$("#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似乎没有被记录下来。。。