2012-02-21 94 views
0

有誰知道我現在可以如何擴展功能,以便當一個導航打開時,當用戶單擊以打開其他導航,目前打開的導航崩潰?導航關閉onClick另一個列表項目

請找到下面的代碼;

http://jsfiddle.net/N7xgC/

+0

您可以直接使用選擇將事件處理程序附加到多個元素,你不」 t需要使用'.each()'函數,然後單獨附加它們。 – 2012-02-21 13:13:57

+0

任何機會,你可以編輯我的小提琴請用正確的代碼,新手jquery – 2012-02-21 13:14:52

+0

忘了提到這一點,但你應該真的包括相關代碼的問題,除了提供一個jsFiddle,以便它繼續有用,即使小提琴不可用。 – 2012-02-21 13:30:45

回答

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

你這個人安東尼......謝謝你的描述:) – 2012-02-21 13:28:59

0

更新您的jsfiddle http://jsfiddle.net/N7xgC/6/

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

當連續兩次點擊相同的鏈接時,會失去切換功能。 – 2012-02-21 13:24:27

+0

乾杯傢伙......做到了這一點 – 2012-02-21 13:26:03

+0

這是沒有在問題中指定:) – bang 2012-02-21 13:30:23

相關問題