2011-05-27 59 views
0

有一個奇怪的問題,我'認爲'我知道問題是什麼,但不知道如何解決它。我有一個頁面,其中包含一個jQueryUI手風琴,我試圖在運行時設置「激活」,但我只能得到這個工作,如果我把一個「警報();」之前!jQuery Accordion - 在加載過程中設置「Active Panel」

我確實有一些getJSON調用來填充Accordion的內容(確定它有多少個面板),一旦完成,就需要跳轉到相應的面板。

的實際調用是在這裏:

function jumpToAccordionDate(d,m,y){ 
var el3=$('#h'+d + m + y); 
$('#accordion').accordion('activate',el3);} 

此前,創立了手風琴的過程中,我已經下組的H3元素的ID:

$('#accordion').append('<h3 id="h' + dd + '"><a href="#">' + cDate + '</a></h3><div id="div' + dd + '"></div>').accordion('destroy').accordion(); 

有或許等待Accordion在我稱之爲jumpToAccordionDate之前完全完成DOM上的渲染,還是有更好的替代方案?

回答

1

我認爲create事件可能會解決您的時間問題。該文檔有點含糊,但您可以像這樣挖掘它:

$("#accordion").accordion({ 
    create: function() { 
     jumpToAccordionDate(...); 
    } 
});