我正在开发一个菜单。当您点击链接时,此菜单将更改背景图像,几乎所有菜单都会这样做。如果我从菜单中单击一个链接,此链接背景将更改颜色。
我的jQuery脚本是:
$(function() {
$('#menu ul li').click(function() {
$('#menu ul li').removeClass("current_page_item");
$(this).addClass("current_page_item");
//return false;
});
});
今天,在“return false”评论中,当我点击“#menu ul li”下的链接时,它会更改背景,打开新页面并重置背景。当然,如果我取消注释return false
,后台工作正常,但我无法打开任何链接。所以看起来在我打开一个新页面后,它会重置这些类。我怎样才能坚持下去?
答案 0 :(得分:3)
动态添加的类不会在页面加载之间保持不变。考虑使用一些服务器端代码根据需要添加类current_page_item
。
答案 1 :(得分: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');
}