2010-03-25 51 views
1

我正在開發一個菜單。此菜單將在您點擊鏈接時更改背景圖像,因爲幾乎所有的菜單都是如此。如果我從菜單中單擊一個鏈接,此鏈接背景將更改顏色。jQuery點擊行爲

jQuery腳本是:

$(function() { 
$('#menu ul li').click(function() { 
    $('#menu ul li').removeClass("current_page_item"); 
    $(this).addClass("current_page_item"); 
    //return false; 
}); 
}); 

如今,隨着「返回false」評論說,當我點擊「#menu UL禮」下的鏈接,它改變了背景打開新頁面和背景被重置。當然,如果我取消註釋return false,後臺工作正常,但我無法打開任何鏈接。所以看起來像之後,我打開一個新頁面,它重置類。我怎樣才能使它持久?

回答

3

動態添加的類不會在頁面加載之間持續存在。考慮使用一些服務器端代碼根據需要添加類current_page_item

1

你會想要這樣做頁面加載而不是之前。您可以像Jud所建議的那樣在服務器端進行操作,或者使用如下所示的jQuery腳本。最近這個小腳本一直是我的首選方法。

var path = location.pathname.substring(1); 
if(path){ 
    $('#menu a[href="' + path + '"]').attr('class', 'current'); 
    $('#subnav a[href="' + path + '"]').attr('class', 'current'); 
}