当前页面菜单高亮显示是我们项目开发中经常会用到的一个功能,方便客户识别自己当前所在栏目,提高网站客户体验度,下面青岛星网跟大家分享一段JS的实现方法。

window.onload=function menuFix() {
var strUrl,strHref;
var Navs=document.getElementById("nav1").getElementsByTagName("a"); //nav1是ul 的id
// 如果链接没有参数,或者URL链接中不存在我们要获取的参数,则返回数组中的序号
strUrl=location.href.substring(location.href.lastIndexOf("/")+1);//取得URL页面名称
for (var i = 0; i < Navs.length; i++) {
strHref=Navs[i].getAttribute("href").substring(Navs[i].getAttribute("href").lastIndexOf('/')+1);
///在IE6,IE7中strHref获得的是全路径,而在IE8和ff中获得的是页面名称,为了兼容,需要将它的字符串进行拆分/
if(strUrl==strHref){//高亮当前菜单
Navs[i].className = "current"
}
else{
Navs[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "over";
}
Navs[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)over\\b"),"");
}
}
}
}
