2013-11-23 49 views
0

我完全是新的JQuery和JavaScript,可以真正使用一些幫助。jquery手風琴:關閉其他面板上打開指定的面板

我想放在一起有8個面板的手風琴,默認面板是#8。它在頁面加載時打開。默認情況下,當我打開任何其他面板時,#8會關閉,除非我專門打開它,否則無論我打開或關閉哪個面板,它都會保持關閉狀態。

我需要知道的是:每當我關閉一個打開的面板時,是否可以自動打開#8。

例如,我打開面板3,它關閉所有當前打開的面板。當我關閉面板3時,我想讓面板8自動打開。

這可能嗎?

謝謝

回答

1

是的,這是可能的。下面是使用jQuery UI的例子:

$(function() { 
    var activePanel = 2; //Set to the zero-based index of the panel you want to open 
    $("#accordion").accordion({ 
     collapsible: true, 
     active: activePanel, 
     activate: function(event,ui){ 
      //If a panel other than our default is collapsed 
      if(!ui.newPanel.length && $(this).find('.ui-accordion-content').index(ui.oldPanel) != activePanel){ 
       $(this).accordion('option','active',activePanel); 
      } 
     } 
    }); 
    }); 

Demo fiddle

+0

這並不工作,但它看起來並不大。通常情況下,如果您選擇的面板不是打開的面板,則會在另一面板合同的同時開始展開。使用你的代碼,直到另一個已經關閉之後纔開始展開新的面板。 我不確定是否有任何解決方法。 –

+0

@ matthew_360我不知道你爲什麼看到這個,但在演示小提琴中,我看到兩個面板都在同一時間動畫 –

+0

它在我的小提琴中也是如此。至少對我來說,在Chrome,Firefox和IE中。我點擊「第1部分」,該部分打開。然後我再次點擊「第1部分」,該部分關閉,然後當它完成合同時,「第3部分」隨即展開。 我的辦公室裏還有其他一些開發人員也在測試它們,他們都得到了同樣的結果。 –

相關問題