2012-04-22 32 views
1

選択した折りたたみアイテムを強調表示します。これを達成するために、アコーディオンとアコーディオンのグループに対してaddClass()メソッドを使用して新しいクラス(アコーディオン・ヘッディング・ハイライトとアコーディオン・グループ・ハイライト)を追加しましたが、問題があります。Twitterのブートストラップ崩壊:選択した折りたたみアイテムの強調表示

閉じた状態で折りたたみ可能なアイテムをクリックした場合、正常に動作します。しかし、折りたたみ可能なアイテムをクリックすると、アコーディオンの見出しの背景色が元のものに変わることはありません。

それをここでテストすることができます。http://jsfiddle.net/uuZAK/

私はこれをどのように修正することができますか?

答えて

1

あなたが考慮する必要があり、ここで2つのシナリオがあります:ユーザーがアクティブな項目をクリックすると

  1. は、ユーザーがアクティブでない項目をクリックすると、それに
  2. を無効にすべての項目を無効にし、これを活性化させます1。

現在のソリューションでは、どのアイテムが既にアクティブであるかを検出する方法がありません。 $.hasClass関数を使用して、クリックしたアイテムが既にアクティブであるかどうかを確認することができます。あなたが崩壊アイテムのステータスを設定するaccordion-bodyhideshowイベントにバインドすることができhttp://jsfiddle.net/Willyham/6v7Rn/

+0

このタイプの実装にはバグがあります。遷移中にヘッダーをダブルクリックすると、崩壊が開いていてもクラスが誤ってonrmalに戻されます。 –

1

は、ここでの結果とフォークjsFiddleです。ダブルクリックで問題ありません。

私はWill Demaineのコードを再利用します。ここにデモがあります:http://jsfiddle.net/kXTc6/1/

関連する問題