2013-10-29 78 views
0

,這裏是我的jsfiddle jQuery的導航菜單:http://jsfiddle.net/HhBEJ/3/不標記當前頁面時,點擊子菜單上

儘管有些不是在尋找的jsfiddle好,因爲我有背景圖像和代碼的這樣 - 我有一個問題,我導航菜單。 我想要它做的是:

當我加載頁面(index.htm)我希望它有一個頁面標記(我已命名爲當前)來標記我目前在主頁上。當我點擊另一個頁面導航到 - 我希望它從prev頁面中刪除當前並使curPage新的當前(你可以看到我在jQuery中做了這個(我認爲我做對了)),如果我點擊一個子菜單。例如,當我點擊javaScript時,我會轉到「web> web215> JavaScript」。我想要Web父項Web215子項和javaScript孫項目以突出顯示所有'當前'id。但它沒有對它們中的任何一個進行操作,除了點擊時的快速秒 - 它不會在頁面加載時保存它。我認爲罪魁禍首是介於瀏覽:

function youAreHere() { 
var pathName = $(location).attr('pathname'); 
var curPage = pathName.substring(pathName.lastIndexOf('/') + 1); 
$('a').each(function() { 
    if ($(this).attr('href') == curPage) { 
     $(this).attr('id', 'current'); 
    } else if (curPage == '') { 
     $('a:first').attr('id', 'current'); 
    } 
}); //END function 

我知道,當我把警報它的正確調用頁面,它的工作如預期,但目前的類也不答:住它加載或B之後:根本不用擔心。

回答

1

你的css是錯誤的,你正在設置當前的標識到一個標籤,但在css中,你正在爲li標籤設置當前的id。這是你需要的:

div#menu li a#current { 
font-weight: bold; 
font-size: 16px; 
z-index: 6; 
background: transparent url('../images/menu_level1_item.png') repeat-x scroll 0pt 100%; 
} 
div#menu li a#current ul { 
font-weight: normal; 
font-size: 12px; 
} 
+0

哇!哈哈我在這上面呆了幾個小時,這只是兩個討厭的'a的抱着我:( 非常感謝你! – MikesEpitaphSays

+1

不要擔心你不是唯一的一個,它發生在我們最好的;) –

+0

還有一個簡單的問題 - 即修復它不會停留,但第二部分是我如何做到這一點,如果我點擊物品第三層的錨點,它會選擇第一層,它也是第二層?因爲現在 - 一旦我點擊WEB,它會突出顯示,但如果我點擊WEB子菜單,然後WEB取消選擇,只有子菜單選擇 – MikesEpitaphSays

相關問題