1

選択した折りたたみアイテムを強調表示したい。これを実現するために、accordion-heading と accordion-group の addClass() メソッドを使用して新しいクラス (accordion-heading-highlighted と accordion-group-highlighted) を追加しましたが、問題があります。

閉じているときに折りたたみ可能なアイテムをクリックすると、正常に機能します。ただし、開いている折りたたみ可能なアイテムをクリックすると、アコーディオンの見出しの背景色が元の色に変更されませんでした。

ここでテストできます: http://jsfiddle.net/uuZAK/

どうすればこれを修正できますか?

4

2 に答える 2

1

hideonとshowイベントをバインドしaccordion-bodyて、折りたたみアイテムのステータスを設定できます。ダブルクリックでも問題ありません。

Will Demaine のコードを再利用します。デモは次のとおりです。http://jsfiddle.net/kXTc6/1/

于 2012-08-13T06:45:56.567 に答える
1

ここでは、考慮しなければならないシナリオが 2 つあります。

  1. ユーザーがアクティブなアイテムをクリックすると、非アクティブ化します
  2. ユーザーが非アクティブなアイテムをクリックした場合、すべてのアイテムを非アクティブ化してから、このアイテムをアクティブ化します。

現在のソリューションには、既にアクティブになっているアイテムを検出する方法がありません。この$.hasClass機能を使用して、クリックしたアイテムが既にアクティブかどうかを確認できます。

これは、分岐した jsFiddle の結果です: http://jsfiddle.net/Willyham/6v7Rn/

于 2012-04-26T02:20:38.053 に答える