2011-08-24 60 views
1

即時通訊新來的jQuery,有一個輕微的問題提供了以下導航:jQuery的 - 只顯示當前上行

http://jsfiddle.net/6Dh8j/7/

從本質上講,我喜歡這個可愛的網站的創意製作部分導航:http://www.gainsburyandwhiting.com>請參閱投資組合>時裝秀等...

我需要隱藏當前ul並在其位置顯示一個新的。目前,他們展示,直到我取消點擊父母。

有什麼想法?

感謝, 紅

+0

會請您詳細闡述更多你想要做什麼? – Vivek

+0

隱藏當前一個只需你可以使用'this.hide();' – Vivek

+0

它關於隱藏所選項目的親戚,否則他們顯示和隱藏在彼此的頂部,而不是隻在選定的一個在視圖中... – Red

回答

1

你需要隱藏所有ul元素是當前ul如兄弟姐妹的後代

$(this).siblings().find('ul').fadeOut('fast'); 

此發現該點擊的ul每個同級(所有這些在本例中是ul),並發現所有ul元件被withing其邊界和淡出出來。

在你的代碼的情況下:

$("nav ul li").find("ul").hide().end() 
    .click(function(e) { 
    if (this == e.target) { 
     $(this).siblings().find('ul').fadeOut('fast'); 
     $(this).children('ul').fadeToggle('fast');  
    } 
}); 
+0

謝謝你快速的回覆!這使得總體感覺,作品一種享受!我在想,當你回到開始菜單時,是否有辦法隱藏打開的孩子?也就是說,如果您點擊1級,然後2級3級物品顯示,但是如果您點擊另一個1級物品,然後重新選擇初始1級物品,3級已經打開?每次開始這個過程時,有沒有一種方法可以從頭開始打開/關閉? – Red

+0

我意識到這一點後,我出去了。而不是直接的孩子,你需要找到所有的孩子。我會馬上編輯答案。 –

+0

Aleksi Yrttiaho - 非常感謝你,你完全相信Stackoverflow爲何如此出色。 – Red