js實現當前導航菜單高亮顯示

爲了增長用戶體驗度,增長網頁的易用性和美觀度,每每須要把當前導航菜單以特殊方式顯示,一般是高亮顯示或有不一樣於其它菜單的背景,有兩種方法能夠實現,第一種是用純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;
}
這樣就實現當前導航菜單高亮顯示了。
javascript

相關文章
相關標籤/搜索