當前欄目高亮顯示
JS判斷當前URL對當前欄目高亮顯示,重點是用到了indexOf來判斷兩個字符串中第一次出現的位置,如果沒有出現就返回-1,出現就返回其它,并與返回其它結果的那個字符串所在元素定義一個class.
HTML
<div id="nav"> <ul> <li><a href="http://m.survivalescaperooms.com/html/list/index_127.htm" title="資訊中心"><span>資訊中心</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_1.htm" title="網絡編程"><span>網絡編程</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_104.htm" title="數據庫"><span>數據庫</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_96.htm" title="腳本專欄"><span>腳本專欄</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_7.htm" title="實用技巧"><span>實用技巧</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_84.htm" title="軟件編程"><span>軟件編程</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_8.htm" title="網頁制作"><span>網頁制作</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_86.htm" title="操作系統"><span>操作系統</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_11.htm" title="經典網摘"><span>經典網摘</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_27.htm" title="網站技巧"><span>網站技巧</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_99.htm" title="免費資源"><span>免費資源</span></a></li> <li><a href="http://m.survivalescaperooms.com/html/list/index_54.htm" title="關于我們"><span>關于我們</span></a></li> <li><a href="http://m.survivalescaperooms.com/search.asp" title="文章搜索"><span>文章搜索</span></a></li> </ul> </div>
JS
var myNav = document.getElementById("nav").getElementsByTagName("a"); for(var i=0;i<myNav.length;i++) { var links = myNav[i].getAttribute("href"); //alert(links) //alert(myNav[i]); var myURL = document.location.href; if(myURL.indexOf(links) != -1) { myNav[i].className="d"; } }當前欄目高亮顯示不知道你明白了沒有?沒有的話,我說詳細點。首先,你點擊一個連接,比如: <li><a
href="http://m.survivalescaperooms.com/html/list/index_127.htm" title="資訊中心">資訊中心</a></li>
點擊之后瀏覽器發生了什么變化呢?是的,就是地址欄變成了:
//m.survivalescaperooms.com/html/list/index_127.htm
使用 document.location.href;
取得的就是這個地址(//m.survivalescaperooms.com/html/list/index_127.htm)。
然后我們再遍歷當前網頁上的所有連接,取得每個連接href的值。遍歷的代碼:
var myNav = document.getElementById("nav").getElementsByTagName("a"); for(var i=0;i<myNav.length;i++) { var links = myNav[i].getAttribute("href"); } 使用indexOf函數來比較是否頁面的所有連接中,有關鍵字在//m.survivalescaperooms.com/html/list/index_127.htm中出現。若有的話,就表 明是當前連接,那么就修改當前連接的樣式。這就實現了當前欄目高亮顯示,當前欄目高亮顯示是一個很實用的技巧,在增加用戶體驗方面尤 其有好處。但在實用過程中,可能需要注意一些細節問題,比如搜索吧的博客是用外鏈的方式來連接的,那么在處理的時候,點了這個外鏈的 時候是否高亮呢?這里也只是我覺得當前欄目高亮顯示時可能出現的問題稍微說一下,說不定你已經有解決方法了。
新聞熱點
疑難解答