天天看點

js實作目前導航菜單高亮顯示

html:

<div id="navi">
<ul>
<li><a href="1.html" target="_blank" rel="external nofollow" >首頁</a></li>
<li><a href="2.html" target="_blank" rel="external nofollow" >欄目1</a></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[i].getAttribute("href");
     if(currenturl.indexOf(linkurl)!=-1)
        {
         last = i;
        }
}
         links[last].className = "hl";
</script>
           

css:

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

注意:

1.getElementById("navi");這一句括号裡的navi必須與<div id="navi">裡的navi一緻。

2.js代碼必須加到body裡,即加到導航的下面,不能加到head裡,否則出錯不能使用。

3.links[last].className = "hl";中的hl是高亮代碼的樣式類名。