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

 更新时间:2007年11月24日 11:57:11   投稿:mdxy-dxy  
本文给大家介绍了使用js查找法实现当前栏目的高亮显示的代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

当前栏目高亮显示 

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

HTML

<div id="nav"> 
<ul> 
<li><a href="//www.jb51.net/html/list/index_127.htm" title="资讯中心"><span>资讯中心</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_1.htm" title="网络编程"><span>网络编程</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_104.htm" title="数据库"><span>数据库</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_96.htm" title="脚本专栏"><span>脚本专栏</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_7.htm" title="实用技巧"><span>实用技巧</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_84.htm" title="软件编程"><span>软件编程</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_8.htm" title="网页制作"><span>网页制作</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_86.htm" title="操作系统"><span>操作系统</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_11.htm" title="经典网摘"><span>经典网摘</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_27.htm" title="网站技巧"><span>网站技巧</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_99.htm" title="免费资源"><span>免费资源</span></a></li> 
<li><a href="//www.jb51.net/html/list/index_54.htm" title="关于我们"><span>关于我们</span></a></li> 
<li><a href="//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="//www.jb51.net/html/list/index_127.htm" title="资讯中心">资讯中心</a></li> 

点击之后浏览器发生了什么变化呢?是的,就是地址栏变成了:

//www.jb51.net/html/list/index_127.htm

使用 document.location.href; 

取得的就是这个地址(//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函数来比较是否页面的所有连接中,有关键字在//www.jb51.net/html/list/index_127.htm中出现。若有的话,就表 明是当前连接,那么就修改当前连接的样式。这就实现了当前栏目高亮显示,当前栏目高亮显示是一个很实用的技巧,在增加用户体验方面尤 其有好处。但在实用过程中,可能需要注意一些细节问题,比如搜索吧的博客是用外链的方式来连接的,那么在处理的时候,点了这个外链的 时候是否高亮呢?这里也只是我觉得当前栏目高亮显示时可能出现的问题稍微说一下,说不定你已经有解决方法了。

相关文章

  • 基于JavaScript制作霓虹灯文字 代码 特效

    基于JavaScript制作霓虹灯文字 代码 特效

    这里使用JS实现网页上的霓虹灯文字特效代码特效,运行效果看一下,你会看到文字的颜色像霓虹灯一样,连续不停变化,五颜六色的,很炫的样子,所以就叫做霓虹文字,也可以叫他文字变色效果,下面跟着小编一起学习JavaScript制作霓虹灯文字 代码特效,需要的朋友一起学习吧
    2015-09-09
  • layui-laydate时间日历控件使用方法详解

    layui-laydate时间日历控件使用方法详解

    这篇文章主要为大家详细介绍了layui-laydate时间日历控件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • JS基于正则截取替换特定字符之间字符串操作示例

    JS基于正则截取替换特定字符之间字符串操作示例

    这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下
    2017-02-02
  • JS加载解析Markdown文档过程详解

    JS加载解析Markdown文档过程详解

    这篇文章主要介绍了JS加载解析Markdown文档过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 使用D3.js构建实时图形的示例代码

    使用D3.js构建实时图形的示例代码

    这篇文章主要介绍了使用D3.js构建实时图形的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Javascript 兼容firefox的一些问题

    Javascript 兼容firefox的一些问题

    上午在做一些测试.把页面拿到火狐上去就出现一堆问题.页面布局先不说.Javascript代码的问题就够头疼
    2009-05-05
  • jQuery实现手风琴特效

    jQuery实现手风琴特效

    这篇文章主要为大家详细介绍了前端js实现手风琴效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 利用JS实现窗口最大化和最小化效果

    利用JS实现窗口最大化和最小化效果

    在现代 Web 开发中,JavaScript 提供了多种方法来与浏览器窗口进行交互,包括最大化和最小化浏览器窗口,虽然浏览器通常会限制对窗口尺寸的直接控制,但我们依然可以实现一些常见的行为,本文将探讨如何使用 JavaScript 实现窗口的最大化和最小化效果
    2024-12-12
  • JavaScript模板引擎Template.js使用详解

    JavaScript模板引擎Template.js使用详解

    这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • javascript表格随机排序代码

    javascript表格随机排序代码

    非常不错的思路,用js实现表格的随机排序,建议大家看代码,学习编程思路
    2008-09-09

最新评论