用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 相关文章推荐
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
回顾Javascript React基础
Jun 15 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
js回调函数原理与用法案例分析
Mar 04 Javascript
绘制微信小程序验证码功能的实例代码
Jan 05 Javascript
JavaScript使用setTimeout实现倒计时效果
Feb 19 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 在线翻译函数代码
2009/05/07 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
srcElement表格样式
2006/09/03 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
详解Python中DOM方法的动态性
2015/04/11 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
python实现粒子群算法
2020/10/15 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
阿里巴巴英国:Alibaba英国
2019/12/11 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
工程班组长岗位职责
2013/12/30 职场文书
二年级体育教学反思
2014/01/15 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL