判斷當(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樣式。
頁(yè)面HTML代碼如下:
<div id="nav">
<ul> <li><a href="http://dedecms51.com/2015/muban"><span>模板超市</span></a></li>
<li><a href="http://dedecms51.com/2015/chajian"><span>插件下載</span></a></li>
<li><a href="http://dedecms51.com/2015/edu"><span>建站教程</span></a></li>
<li><a href="http://dedecms51.com/2015/video"><span>視頻教程</span></a></li>
<li><a href="http://dedecms51.com/2015/js"><span>特效下載</span></a></li>
<li><a href="http://dedecms51.com/2015/sucai"><span>站長(zhǎng)素材</span></a></li>
<li><a href="http://dedecms51.com/2015/kuzhan"><span>酷站欣賞</span></a></li>
<li><a href="http://dedecms51.com/2015/down"><span>源碼下載</span></a></li>
</ul>
</div>
|
頁(yè)面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"; } }
比如:點(diǎn)擊“資訊中心”之后,URL地址變成 http://dedecms51.com/2015/muban ,而使用 document.location.href 取得的就是這個(gè)地址。然后我們?cè)俦闅v當(dāng)前查找到的所有a連接,取得每個(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è)面的所有連接中,是否有當(dāng)前頁(yè)的URL地址出現(xiàn)。若有的話(huà),就表明是當(dāng)前欄目,那么就修改當(dāng)前連接的樣式。這就實(shí)現(xiàn)了當(dāng) 前欄目高亮顯示,當(dāng)前欄目高亮顯示是一個(gè)很實(shí)用的技巧,在增加用戶(hù)體驗(yàn)方面尤其有好處。但在實(shí)用過(guò)程中,可能需要注意一些細(xì)節(jié)問(wèn)題,比如網(wǎng)站是用外鏈的方 式來(lái)連接的,那么在處理的時(shí)候,點(diǎn)了這個(gè)外鏈的
時(shí)候就可能出現(xiàn)問(wèn)題,呵呵。