為了增加用戶體驗度,增加網頁的易用性和美觀度,往往需要把當前導航菜單以特殊方式顯示,通常是高亮顯示或有不同於其它菜單的背景,有兩種方法可以實現,第一種是用純css來實現,二是用js輔助css來實現,兩個種方法都比較簡單,相對而言js更簡單些,下面介紹用js來實現的方法:
首頁假設我們的導航代碼是這樣寫的:
<div id="navi">
<ul>
<li><a href="1.html">主頁</a></li>
<li><a href="2.html">欄目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>
復制這段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;
}
這樣就實現當前導航菜單高亮顯示了。
