5

ここに私が扱っているものの粗いサンプルがあります: http://jsfiddle.net/dX2ux/1/

クライアントの社内で開発された CMS は、この HTML 構造を使用して動的にメニューを作成します。また、サンプルに示されている jQuery スクリプトも付属しています。

スクリプトを編集して、兄弟の開いているメニューを閉じてから、それ自体が開くようにしたいと考えています。showクラスも切り替える必要があります。

これまでのところ、私はこれを思いついた: http://jsfiddle.net/dX2ux/2/

しかし、いじってみると、サブメニューの 1 つをクリックすると失敗します。

私が目指している行動をどのように達成するかについて、誰かが光を当てることができますか? また、これはそれを行うための最良の方法ですか?私はこれを考えすぎていますか?

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

3

これが「最善の」方法であるかどうかはよくわかりませんが、そのようなマークアップでは、この解決策が機能するはずです。

$('.toggle-menu').on('click',function(e){
    e.preventDefault();
    $(this).parent().siblings().children('.toggle-menu').removeClass('show').next().slideUp();
    $(this).toggleClass('show').next().slideToggle();
});

効果を示すためにフィドルを編集しました: http://jsfiddle.net/dX2ux/3/

于 2013-02-09T09:57:27.627 に答える