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;
}
這樣就實現當前導航菜單高亮顯示了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM