0

当一个站点www.example.com加载并加载时index.html,导航不会预先选择要显示的主页。我有一个填充菜单的功能和另一个获取当前页面以添加循环的类的功能,我知道我无法找到该站点何时是将类更改为当前www.example.com的页面。index.html

我尝试了不同的 if 语句并尝试在liie中放置一个默认类,<li><a href='index.html' class='current'>Home</a></li>但它会显示这个页面和我访问的任何其他页面。

/*Navigation menu*/
function navMenu(){
document.writeln("<ul id='menu' class='menu'>");
document.writeln("<li><a href='index.html'>Home</a></li>"); 
document.writeln("<li><a href='myself.html'>About</a></li>");
document.writeln("<li><a href='portfolio.html'>Work</a></li>");
document.writeln("<li><a href='news.html'>News</a></li>");
document.writeln("<li><a href='contact.html'>Contact</a></li></ul>");   
}


function setActive() {
/*current page function*/
 $('#menu a').each(function(index) {
    if(this.href.trim() == window.location)
        $(this).addClass("current");
});}

这很好用,但是就像我提到的那样,我不明白如何集成添加或查找在开始时是否有默认类,当 URL 为时,www.example.com我会将当前类添加到index.html

4

2 回答 2

0

如果您index.html在调用时加载,/,只需将主页的 href 更改为/而不是index.html.

于 2012-12-11T13:50:44.243 回答
0

通过 a 标签上的 href 外观,您将要检查pathname

function setActive() {
/*current page function*/
 $('#menu a').each(function(index) {
    if(this.href.trim() == window.location.pathname)
        $(this).addClass("current");
});}
于 2012-12-11T13:54:01.810 回答