用js查找法实现当前栏目的高亮显示的代码

当前栏目高亮显示
       JS判断当前URL对当前栏目高亮显示,重点是用到了indexOf来判断两个字符串中第一次出现的位置,若是没有出现就返回-1,出现就返回
其它,并与返回其它结果的那个字符串所在元素定义一个class.

HTML html

复制代码 代码以下:

<div id="nav">  
<ul>  
<li><a href="http://www.jb51.net /html/list/index_127.htm" title="资讯中心"><span>资讯中心</span>& lt;/a></li> 
<li><a href="http://www.jb51.net/html /list/index_1.htm" title="网络编程"><span>网络编程</span></a& gt;</li> 
<li><a href="http://www.jb51.net/html/list /index_104.htm" title="数据库"><span>数据库</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/html/list /index_96.htm" title="脚本专栏"><span>脚本专栏</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/html/list /index_7.htm" title="实用技巧"><span>实用技巧</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/html/list /index_84.htm" title="软件编程"><span>软件编程</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/html/list /index_8.htm" title="网页制做"><span>网页制做</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/html/list /index_86.htm" title="操做系统"><span>操做系统</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/html/list/index_11.htm" title=" 经典网摘"><span> 经典网摘</span></a></li> 
<li><a href="http://www.jb51.net /html/list/index_27.htm" title="网站技巧"><span>网站技巧</span>& lt;/a></li> 
<li><a href="http://www.jb51.net/html /list/index_99.htm" title="免费资源"><span>免费资源</span></a& gt;</li> 
<li><a href="http://www.jb51.net/html/list /index_54.htm" title="关于咱们"><span>关于咱们</span></a>& lt;/li> 
<li><a href="http://www.jb51.net/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://www.jb51.net/html/list/index_127.htm" title="资讯中心">资讯中心</a></li> 
点击以后浏览器发生了什么变化呢?是的,就是地址栏变成了:
http://www.jb51.net/html/list/index_127.htm
使用 document.location.href; 
取得的就是这个地址(http://www.jb51.net/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函数来比较是否页面的全部链接中,有关键字在http://www.jb51.net/html/list/index_127.htm中出现。如有的话,就表
明是当前链接,那么就修改当前链接的样式。这就实现了当前栏目高亮显示,当前栏目高亮显示是一个很实用的技巧,在增长用户体验方面尤
其有好处。但在实用过程当中,可能须要注意一些细节问题,好比搜索吧的博客是用外链的方式来链接的,那么在处理的时候,点了这个外链的
时候是否高亮呢?这里也只是我以为当前栏目高亮显示时可能出现的问题稍微说一下,说不定你已经有解决方法了。浏览器

相关文章
相关标签/搜索