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


Posted in Javascript onNovember 24, 2007

当前栏目高亮显示 

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

HTML

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

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

//3water.com/html/list/index_127.htm

使用 document.location.href; 

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

Javascript 相关文章推荐
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
Aug 20 Javascript
javascript实现获取图片大小及图片等比缩放的方法
Nov 24 Javascript
js定时器实例分享
Dec 20 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
JS设置时间无效问题的解决办法
Feb 18 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
Apr 12 Javascript
基于webpack 实用配置方法总结
Sep 28 Javascript
React Native中NavigatorIOS组件的简单使用详解
Jan 27 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
Jun 19 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 Javascript
vue input标签通用指令校验的实现
Nov 05 Javascript
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
Nov 23 #Javascript
document.designMode的功能与使用方法介绍
Nov 22 #Javascript
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 #Javascript
摘自百度的图片轮换效果代码
Nov 19 #Javascript
window.open被浏览器拦截后的自定义提示效果代码
Nov 19 #Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
Nov 18 #Javascript
利用ASP发送和接收XML数据的处理方法与代码
Nov 13 #Javascript
You might like
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Django日志模块logging的配置详解
2017/02/14 Python
详解python中requirements.txt的一切
2017/03/03 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
Python实现简单的2048小游戏
2021/03/01 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
商场活动策划方案
2014/01/24 职场文书
趣味游戏活动方案
2014/02/07 职场文书
分家协议书
2014/04/21 职场文书
入党推优材料
2014/06/02 职场文书
2015年国际护士节演讲稿
2015/03/18 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
SQL Server Agent 服务无法启动
2022/04/20 SQL Server
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android