用js查找法实现当前栏目的高亮显示的代码
作者:mdxy-dxy 发布时间:2020-07-23 07:35:43
当前栏目高亮显示
JS判断当前URL对当前栏目高亮显示,重点是用到了indexOf来判断两个字符串中第一次出现的位置,如果没有出现就返回-1,出现就返回其它,并与返回其它结果的那个字符串所在元素定义一个class.
HTML
<div id="nav">
<ul>
<li><a href="//www.aspxhome.com/html/list/index_127.htm" title="资讯中心"><span>资讯中心</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_1.htm" title="网络编程"><span>网络编程</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_104.htm" title="数据库"><span>数据库</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_96.htm" title="脚本专栏"><span>脚本专栏</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_7.htm" title="实用技巧"><span>实用技巧</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_84.htm" title="软件编程"><span>软件编程</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_8.htm" title="网页制作"><span>网页制作</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_86.htm" title="操作系统"><span>操作系统</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_11.htm" title="经典网摘"><span>经典网摘</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_27.htm" title="网站技巧"><span>网站技巧</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_99.htm" title="免费资源"><span>免费资源</span></a></li>
<li><a href="//www.aspxhome.com/html/list/index_54.htm" title="关于我们"><span>关于我们</span></a></li>
<li><a href="//www.aspxhome.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="//www.aspxhome.com/html/list/index_127.htm" title="资讯中心">资讯中心</a></li>
点击之后浏览器发生了什么变化呢?是的,就是地址栏变成了:
//www.aspxhome.com/html/list/index_127.htm
使用 document.location.href;
取得的就是这个地址(//www.aspxhome.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函数来比较是否页面的所有连接中,有关键字在//www.aspxhome.com/html/list/index_127.htm中出现。若有的话,就表 明是当前连接,那么就修改当前连接的样式。这就实现了当前栏目高亮显示,当前栏目高亮显示是一个很实用的技巧,在增加用户体验方面尤 其有好处。但在实用过程中,可能需要注意一些细节问题,比如搜索吧的博客是用外链的方式来连接的,那么在处理的时候,点了这个外链的 时候是否高亮呢?这里也只是我觉得当前栏目高亮显示时可能出现的问题稍微说一下,说不定你已经有解决方法了。


猜你喜欢
- ewebeditor支持兼容IE8 的方法方法:前几天ie8正式公布了,当天中午我就去下载了一个迫不急待的将自己的浏览器升级到ie8,偶还刻
- select先说switch...case...switch...case... 很常用,且很好理解。其作用和if...else...一样。
- 这篇文章主要介绍了基于python操作ES实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 本文实例讲述了python通过ssh-powershell监控windows的方法。分享给大家供大家参考。具体分析如下:对于服务器的监控来说
- 问题描述初步使用PyTorch进行平方根计算,通过range()创建一个张量,然后对其求平方根。a = torch.tensor(list(
- 程序中的错误一般被称为 Bug,无可否认,这几乎总是程序员的错。。。程序员的一生,始终伴随着一件事 - 调试(错误检测、异常处理)。反反复复
- 1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。2.
- 前言本篇文章要使用OpenCV、Numpy 和Math这3个工具包实现一个简单的滤镜编辑器。在这个滤镜编辑器中,包含了3种滤镜效果,它们分别
- mssql的每个varchar、text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插
- 添加配置这里跟我们之前所说的appium测试工具的配置差不多。deviceName:设备名称platformName:测试平台platfor
- (一)功能实现效果:选择文件的效果:标记预加水印的位置:(二)Python代码:# -*l- coding:utf-8 *import os
- 简介pycurl类似于Python的urllib,但是pycurl是对libcurl的封装,速度更快。本文使用的是pycurl 7.43.0
- 1、余弦相似度余弦相似度衡量的是2个向量间的夹角大小,通过夹角的余弦值表示结果,因此2个向量的余弦相似度为:余弦相似度的取值为[-1,1],
- A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.x
- js判断undefined类型if (reValue== undefined){alert("undefined");}
- Python2.7Mac OS抓取的是电影天堂里面最新电影的页面。链接地址: http://www.dytt8.net/html/gndy/
- MySQL/MariaDB/Percona数据库升级脚本MySQL/MariaDB/Percona数据库升级脚本截取《OneinStack》
- 最近写了一些python3程序,四处能看到bytes类型,而它并不存在于python2中,这也是python3和python2显著区别之一。
- function siblings(o){//参数o就是想取谁的兄弟节点,就把那个元素传进去 var a=[];//定义一个数组,用来存o的
- 用goland打开别人的go项目。可能碰到下面的问题goland cannot find package "server/comm