找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1283|回复: 2

[建站技术] js实现当前导航高亮显示

[复制链接]
发表于 2013-12-18 18:26:27 | 显示全部楼层 |阅读模式
本帖最后由 科长 于 2013-12-18 18:29 编辑

为了增加用户体验度,增加网页的易用性和美观度,往往需要把当前导航菜单以特殊方式显示,通常是高亮显示或有不同于其它菜单的背景,有两种方法可以实现,第一种是用纯css来实现,二是用js辅助css来实现,两个种方法都比较简单,相对而言js更简单些,下面介绍用js来实现的方法:

首页假设我们的导航代码是这样写的:
  1. <div id="navi">
  2. <ul>
  3. <li><a href="1.html">主页</a></li>
  4. <li><a href="2.html">栏目</a></li>
  5. </ul>
  6. </div>
复制代码

下面是js代码:
  1. <script type="text/javascript" language="javascript">
  2. var nav = document.getElementById("navi");
  3. var links = nav.getElementsByTagName("li");
  4. var lilen = nav.getElementsByTagName("a");
  5. var currenturl = document.location.href;
  6. var last = 0;
  7. for (var i=0;i<links.length;i++)
  8. {
  9. var linkurl =  lilen[i].getAttribute("href");
  10. if(currenturl.indexOf(linkurl)!=-1)
  11. {
  12. last = i;
  13. }
  14. }
  15. links[last].className = "hl";
  16. </script>
复制代码

复制这段js代码加到body里。注意:

1.getElementById("navi");这一句括号里的navi必须与<div id="navi">里的navi一致。
2.js代码必须加到body里,即加到导航的下面,不能加到head里,否则出错不能使用。
3.links[last].className = "hl";中的hl是高亮代码的样式类名。

最后再写一下高亮的css代码就可以了,如下:
  1. #navi ul li.hl a{color:red;}
复制代码

这样就实现当前导航菜单高亮显示了。
回复

使用道具 举报

发表于 2015-3-21 10:42:48 | 显示全部楼层
顶......叹为观止.....












城市亮化 桥梁亮化 LED亮化  www.ytwanli.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|王牌互联

GMT+8, 2024-12-21 19:29 , Processed in 0.030860 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表