用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 相关文章推荐
在网页中屏蔽快捷键
Sep 06 Javascript
按下Enter焦点移至下一个控件的实现js代码
Dec 11 Javascript
SeaJS入门教程系列之使用SeaJS(二)
Mar 03 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
详解用vue.js和laravel实现微信授权登陆
Jun 23 Javascript
JavaScript基础进阶之数组方法总结(推荐)
Sep 04 Javascript
小程序实现列表删除功能
Oct 30 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
js对象简介与基本用法示例
Mar 13 Javascript
JS ES6异步解决方案
Apr 29 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中实现Javascript的escape()函数代码
2010/08/08 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python之文字转图片方法
2018/05/10 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
煤矿班组长的职责
2013/12/25 职场文书
市场部管理制度
2014/02/02 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏