用js查找法實(shí)現(xiàn)當(dāng)前欄目的高亮顯示的代碼
當(dāng)前欄目高亮顯示
JS判斷當(dāng)前URL對(duì)當(dāng)前欄目高亮顯示,重點(diǎn)是用到了indexOf來(lái)判斷兩個(gè)字符串中第一次出現(xiàn)的位置,如果沒(méi)有出現(xiàn)就返回-1,出現(xiàn)就返回其它,并與返回其它結(jié)果的那個(gè)字符串所在元素定義一個(gè)class.
HTML
<div id="nav"> <ul> <li><a href="http://www.dbjr.com.cn/html/list/index_127.htm" title="資訊中心"><span>資訊中心</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_1.htm" title="網(wǎng)絡(luò)編程"><span>網(wǎng)絡(luò)編程</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_104.htm" title="數(shù)據(jù)庫(kù)"><span>數(shù)據(jù)庫(kù)</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_96.htm" title="腳本專欄"><span>腳本專欄</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_7.htm" title="實(shí)用技巧"><span>實(shí)用技巧</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_84.htm" title="軟件編程"><span>軟件編程</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_8.htm" title="網(wǎng)頁(yè)制作"><span>網(wǎng)頁(yè)制作</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_86.htm" title="操作系統(tǒng)"><span>操作系統(tǒng)</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_11.htm" title="經(jīng)典網(wǎng)摘"><span>經(jīng)典網(wǎng)摘</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_27.htm" title="網(wǎng)站技巧"><span>網(wǎng)站技巧</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_99.htm" title="免費(fèi)資源"><span>免費(fèi)資源</span></a></li> <li><a href="http://www.dbjr.com.cn/html/list/index_54.htm" title="關(guān)于我們"><span>關(guān)于我們</span></a></li> <li><a href="http://www.dbjr.com.cn/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"; } }
當(dāng)前欄目高亮顯示不知道你明白了沒(méi)有?沒(méi)有的話,我說(shuō)詳細(xì)點(diǎn)。首先,你點(diǎn)擊一個(gè)連接,比如: <li><a
href="http://www.dbjr.com.cn/html/list/index_127.htm" title="資訊中心">資訊中心</a></li>
點(diǎn)擊之后瀏覽器發(fā)生了什么變化呢?是的,就是地址欄變成了:
//www.dbjr.com.cn/html/list/index_127.htm
使用 document.location.href;
取得的就是這個(gè)地址(//www.dbjr.com.cn/html/list/index_127.htm)。
然后我們?cè)俦闅v當(dāng)前網(wǎng)頁(yè)上的所有連接,取得每個(gè)連接href的值。遍歷的代碼:
var myNav = document.getElementById("nav").getElementsByTagName("a"); for(var i=0;i<myNav.length;i++) { var links = myNav[i].getAttribute("href"); }
使用indexOf函數(shù)來(lái)比較是否頁(yè)面的所有連接中,有關(guān)鍵字在//www.dbjr.com.cn/html/list/index_127.htm中出現(xiàn)。若有的話,就表 明是當(dāng)前連接,那么就修改當(dāng)前連接的樣式。這就實(shí)現(xiàn)了當(dāng)前欄目高亮顯示,當(dāng)前欄目高亮顯示是一個(gè)很實(shí)用的技巧,在增加用戶體驗(yàn)方面尤 其有好處。但在實(shí)用過(guò)程中,可能需要注意一些細(xì)節(jié)問(wèn)題,比如搜索吧的博客是用外鏈的方式來(lái)連接的,那么在處理的時(shí)候,點(diǎn)了這個(gè)外鏈的 時(shí)候是否高亮呢?這里也只是我覺(jué)得當(dāng)前欄目高亮顯示時(shí)可能出現(xiàn)的問(wèn)題稍微說(shuō)一下,說(shuō)不定你已經(jīng)有解決方法了。
相關(guān)文章
es6 javascript對(duì)象Object.values() , Object.entr
這篇文章主要介紹了es6 javascript對(duì)象Object.values() , Object.entries()的示例代碼,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12不使用XMLHttpRequest實(shí)現(xiàn)異步加載 Iframe和script
運(yùn)用Iframe和script可以實(shí)現(xiàn)簡(jiǎn)單的異步加載,沒(méi)有使用XMLHttpRequest,需要的朋友可以參考下2012-10-10解決layer圖標(biāo)icon不加載的問(wèn)題
今天小編就為大家分享一篇解決layer圖標(biāo)icon不加載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09JavaScript裝箱及拆箱boxing及unBoxing用法解析
這篇文章主要介紹了JavaScript裝箱及拆箱boxing及unBoxing用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06js對(duì)象合并的4種方式與數(shù)組合并的4種方式
這篇文章主要介紹了js對(duì)象合并的4種方式與數(shù)組合并的4種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10