用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 相关文章推荐
漂亮的提示信息(带箭头)
Mar 21 Javascript
JavaScript 字符编码规则
May 04 Javascript
javascript qq右下角滑出窗口 sheyMsg
Mar 21 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
Jan 27 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
Dec 18 Javascript
JS中artdialog弹出框控件之提交表单思路详解
Apr 18 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
JavaScript编写棋盘覆盖代码详解
Aug 28 Javascript
vue代理和跨域问题的解决
Jul 18 Javascript
VUE.js实现动态设置输入框disabled属性
Oct 28 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超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
JS实现多选框的操作
2020/06/24 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python OpenCV获取视频的方法
2018/02/28 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
python实现logistic分类算法代码
2020/02/28 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
初级Java程序员面试题
2016/03/03 面试题
人事专员岗位职责范本
2014/03/04 职场文书
评先进个人材料
2014/12/29 职场文书
会计人员岗位职责
2015/02/03 职场文书
物业接待员岗位职责
2015/04/15 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
董事长秘书工作总结
2015/08/14 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js