当前页面菜单高亮显示是我们项目开发中经常会用到的一个功能,方便客户识别自己当前所在栏目,提高网站客户体验度,下面青岛星网跟大家分享一段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"),""); } } } }