分享

js实现当前栏目高亮显示

 weiledream 2011-06-09
为了增加用户体验度,增加网页的易用性和美观度,往往需要把当前导航菜单以特殊方式显示,通常是高亮显示或有不同于其它菜单的背景,有两种方法可以实现,第一种是用纯css来实现,二是用js辅助css来实现,两个种方法都比较简单,相对而言js更简单些,我一个济南网站建设的站就是用的这个方法,下面介绍用js来实现的方法:

首页假设我们的导航代码是这样写的:

<div id="navi">
<ul>
<li>主页<li>
<li>栏目1<li>
</ul>
</div>

下面是js代码:
<script type="text/javascript" language="javascript">
var nav = document.getElementById("navi");
var links = nav.getElementsByTagName("li");
var lilen = nav.getElementsByTagName("a");
var currenturl = document.location.href;
var last = 0;
for (var i=0;i<links.length;i++)
{
   var linkurl =  lilen.getAttribute("href");
     if(currenturl.indexOf(linkurl)!=-1)
        {
         last = i;
        }
}
         links[last].className = "hl";
</script>

复制这段js代码加到body里。注意:

1.getElementById("navi");这一句括号里的navi必须与<div id="navi">里的navi一致。

2.js代码必须加到body里,即加到导航的下面,不能加到head里,否则出错不能使用。

3.links[last].className = "hl";中的hl是高亮代码的样式类名。

最后再写一下高亮的css代码就可以了,如下:

#navi ul li.hl a{
color:#123456;
}

这样就实现当前导航菜单高亮显示了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多