用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 相关文章推荐
16个最流行的JavaScript框架[推荐]
May 29 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
Aug 12 Javascript
Javascript 绘制 sin 曲线过程附图
Aug 21 Javascript
jquery选择器需要注意的问题
Nov 26 Javascript
javascript排序函数实现数字排序
Jun 26 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
Jan 31 Javascript
JS使用数组实现的队列功能示例
Mar 04 Javascript
Vue组件生命周期运行原理解析
Nov 25 Vue.js
精解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
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
javascript中 try catch用法
2015/08/16 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
原生js中ajax访问的实例详解
2017/09/19 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
python对常见数据类型的遍历解析
2019/08/27 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
设计师珠宝:Ylang 23
2018/05/11 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
大学社团活动总结
2014/04/26 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
国庆节活动总结
2014/08/26 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技