2017-03-22 7 views
1

jQuery Accordionを使用していますが、小さな問題があります:いくつかの条件に基づいて、私のアコーディオンは最初に有効になったH3を2番目または3番目にすることができます。最初に私はこのクラスを "ui-state-disabled"に追加することによって無効にしています。jQuery Accordion expand最初に有効になったパネル

私のアコーディオンは、次のようになります。

$("#accordion").accordion({ 
     active: true, 
     animate: false, 
     collapsible: true, 
     heightStyle: "content", 
     icons: icons 
    }); 

は、アコーディオンが最初の有効なセクションを展開するように方法はありますか?今、私がactive:0を置くと最初の要素が無効になっても、それはそれにもかかわらず展開されます。

提案がありますか?

+0

あなたは最初のアコーディオンを無効にして拡張できないようにしたいですか? – azs06

+0

最初のセクションを無効にして拡張できないようにすることができます。アコーディオンで最初に無効にされていないセクションを自動的に開くようにします。 –

+0

これは 'active:1'のように、 jsbin.com/giniyan/edit?html,js,output – azs06

答えて

2

これはであり、解決策の中では最もですが、うまくいくでしょう。最初のH3のインデックスが、.ui-state-disabledクラスを持たない#accordion要素の中にあることが必要です。そうです。

ので、私は中にいることを投げ、あなたはすでにこれを実現することができますが、無効にセクションを開くためにクリックする機能を削除することをお勧めします。追加するには、編集

$("#accordion").accordion({ 
    active: $('h3:not(.ui-state-disabled):first').index('#accordion h3'), 
    animate: false, 
    collapsible: true, 
    heightStyle: "content", 
    icons: icons 
}); 

$(".ui-state-disabled").unbind("click"); 

Demo on Codepen

あなたの後ろにあなたのicons: icons

+0

ありがとうございました。 –

関連する問題