2012-02-21 7 views
0

誰かが今すぐ機能を拡張できるので、あるナビゲーションが開いているときに、別のナビゲーションを開くためにクリックしたときに開いているナビゲーションが現在折りたたまれているように知っていますか?ナビゲーション閉じる他のリストアイテムのオンクリック

下記のコードを見てください。あなたのjsFiddle http://jsfiddle.net/N7xgC/6/

$(document).ready(function() 
{ 
    $('.main > li > a').click(function(event) 
    { 
     $('.main > li > ul').hide(); 
     $(this).next().show(); 
    }); 
}); 
+0

あなたは「あなたがドン、複数の要素にイベントハンドラをアタッチするために、直接セレクタを使用することができます'.each()'関数を使用して個別にアタッチする必要があります。 –

+0

あなたは私のフィドルを編集することができます。正確なコードを入力してください。jqueryの初心者 –

+0

jsFiddleを提供することに加えて、関連するコードを本当に含めるべきです。フィドルにアクセスすることはできません。 –

答えて

0

subクラスを持つすべての要素の表示をトグルしているので、任意のリンクをクリックすると、サブメニューがすべて表示されますあなたが現在やっています。代わりに、クリックされているリンクの兄弟ではないクラスsubを持つすべての要素を非表示にし、クリックしたリンクの兄弟であるであるクラスsubの要素のみを切り替えたいとします。このよう

$(document).ready(function() { 
    $('.main > li > a').click(function() { 
     var sibling = $(this).siblings('.sub'); // select the <ul> to exclude 
     $('.sub').not(sibling).hide(); // hide everything except that element 
     sibling.toggle(); // toggle that element 
    }); 
}); 

Updated jsFiddle

+0

同じリンクを2回連続してクリックすると、トグル機能が失われます。 –

+0

乾杯...それはそれをした –

+0

それは質問で指定されていませんでした:) – bang

関連する問題