1

jQuery を使用してマルチレベル メニューを作成したいと考えています。

主なアイデアは、デフォルトですべての子メニュー項目が折りたたまれていることです。plus をクリックすると、クリックした要素の子のみが展開されます。もう一度クリックすると非表示になります。

私は何とかした基本的なコードでフィドルを設定しましたhttp://jsfiddle.net/mNW3c/1/

問題があります - 適切な要素を 1 つずつ表示/非表示にすることができません。それを改善するために私を助けてください。

前もって感謝します!

4

1 に答える 1

0

show/hide ステートメントのコンテキストを指定する必要があります。今のところ、それはそれらすべてをつかむだけです。コードのこの部分で

$('.has-child .plus').click(function(){
    $('.has-child.hover > ul').toggle('slow');
});

.plusthisの親の最初の ul を探していることを指定する必要があります。これでそれを行うことができます:

$('.has-child .plus').click(function(){
    $('ul:first', this.parentNode).toggle('slow');
});

デモ

于 2012-06-30T11:32:57.167 に答える