当站点为www.example.com
并加载index.html
时,导航将不会预先选择要显示的主页。我有一个函数填充菜单,另一个函数获取当前页面以添加循环的类,我知道当站点是www.example.com
时,我找不到index.html
页面来将类更改为当前类。
我尝试过不同的if语句,并尝试在li
(即<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
如果在调用/,
时加载index.html
,只需将主页的href更改为/
而不是index.html
。
根据a标签上href的外观,您将要对照pathname
进行检查
function setActive() {
/*current page function*/
$('#menu a').each(function(index) {
if(this.href.trim() == window.location.pathname)
$(this).addClass("current");
});}