iOS などのモバイル デバイスで動作する展開および折りたたみメニューを作成しようとしています。そのため、各項目をクリックすると、含まれているメニューが展開されます (存在する場合)。
アイテムをもう一度クリックすると、関連する同封のメニューが閉じます。
ただし、アコーディネーション アニメーションも作成したいので、(メニュー ツリーの現在の部分内で) 他のネストされたメニューが開いているときに別の項目をクリックすると、開いている他のすべてのメニューが閉じられ、新しいメニューが開きます。 .
さまざまなチュートリアルを使用して、これの大まかな実装を作成することができましたが、適切に機能する本当にエレガントな方法で作成するのに苦労しています. 一部の人々がこの種のことのために書いたJSを見たことがありますが、決して理解できません。
この jsFiddle での私の試みをご覧ください: http://jsfiddle.net/W59P9/5/
ある程度は機能しますが、かなりバグが多く、アニメーションが二重になったり、まったく機能しないことがあります。ツリーを数回下ってから、そのツリー内またはツリーの上部からアイテムを閉じようとすると、特にバグが発生します。