1 <style> 2 .active { 3 color: red; 4 } 5 </style> 6 //html代碼 7 <ul id="tab2"> 8 <li><a href="http://www.cnblogs.com/index.html">首頁</a></li> 9 <li><a href="http://www.cnblogs.com/news.html">新聞</a></li> 10 <li><a href="http://www.cnblogs.com/about.html">關於</a></li> 11 <li><a href="http://www.cnblogs.com/job.html">工作</a></li> 12 <li><a href="http://www.cnblogs.com/ad.html">廣告</a></li> 13 <li><a href="http://www.cnblogs.com/contactus.html">聯系我們</a></li> 14 </ul> 15 //jq代碼 16 <script> 17 $(function () { 18 window.onload = function () {
20 var $tDiv = $("#tab2"), 21 $links = $tDiv.find("a"), 22 index = 0,//默認第一個菜單項 23 urls = location.href.split('?')[0].split('/');//取得"?"以前的所以"/"截止的所有字符串 24 for (var j = urls.length-1; j > 0; j--) { 25 if (urls[j]!="index.html") {//判斷改字符串是否是"index.html",如果是則返回,如果不是則執行循環 26 for (var i =0;i<$links.length; i++) {//循環底部導航欄li里面的a 27 if ($links[i].href.toLocaleLowerCase().indexOf(urls[j]) != -1) { 28 index = i; 29 $tDiv.find("li:eq(" + index + ")").addClass("active"); 30 return; 31 } 32 } 33 } 34 } 35 } 36 }) 37 </script>
點擊的事件是超鏈接a的鏈接地址觸發,主要需要實現的步驟是:
1.在頁面正在加載的時候同時執行js腳本,主要利用的是window.onload()
2.獲取到頁面的鏈接的地址,通過對localhost的地址進行split切割后獲取一個數組
3.跟其點擊的超鏈接的鏈接地址做相應的比較,通過indexOf獲取位置的判斷來參看是否是該超鏈接的鏈接地址
4.找到該鏈接所屬的超鏈的位置,加上相應的class類名
