导航菜单点击后高亮显示

需求:如果所有页面引用同一个头部导航菜单,点击栏目后,页面跳转的对应页面,这时导航菜单中该栏目高亮显示。

导航栏菜单html结构:

<ul id="tabs_nav">
    <li><a href="a.html" class="active"></a></li>
    <li><a href="b.html"></a></li>
    <li><a href="c.html"></a></li>
    <li><a href="d.html"></a></li>
</ul>

实现:判断a标签中href属性与当前窗口URL是否匹配,匹配则给其添加样式。

js代码:

//获取div下面所有的a标签(返回节点对象)
   var myNav = document.getElementById("tabs_nav").getElementsByTagName("a");
   //获取当前窗口的url
   var myURL = document.location.href;
   //循环div下面所有的链接,
   for(var i=1;i<myNav.length;i++){
   //获取每一个a标签的herf属性
  var links = myNav[i].getAttribute("href");
  var myURL = document.location.href;
  //查看div下的链接是否包含当前窗口,如果存在,则给其添加样式
  if(myURL.indexOf(links) != -1){
    myNav[i].className="active";
    myNav[0].className="";
   }
 }
时间: 2024-10-03 14:01:37

导航菜单点击后高亮显示的相关文章

JavaScript网站设计实践(二)实现导航栏当前所选页面的菜单项高亮显示

一.(一)中的代码还可以修改的地方. 在(一)中,如果是运行在服务器下,如apache等,可以把head和navigation的div抽取出来,放置在另一个html文件里,然后在页面中,include进来.这样,当要对导航栏进行修改时,只需要修改一个文件,而不用修改所有相关的页面文件.不过,我这里没有这样做,没有抽取出来. 二.实现当前页面的标识+不同页面的head头部背景图片的改变 现在在(一)实现的基础之上,来实现导航栏当前所选页面的菜单项高亮显示,让访问者一路了然知道"我正在这里"

MVC导航菜单高亮显示实现思路

///代码不是我写的,但是已经亲自测试过了,按照我的理解写的注释,不对的地方大家评论指出 @{ @*这个是把当前的路由值格式化并保存到currentController这个变量中,这里是格式化为Controller->Action这种格式的,如果你的导航菜单所指向的路径都是在一个Controller下面,那就完全可以省掉Controller *@ var currentController = string.Format("[{0}->{1}]", ViewContext.

js实现当前导航菜单高亮显示

为了增加用户体验度,增加网页的易用性和美观度,往往需要把当前导航菜单以特殊方式显示,通常是高亮显示或有不同于其它菜单的背景,有两种方法可以实现,第一种是用纯css来实现,二是用js辅助css来实现,两个种方法都比较简单,相对而言js更简单些,下面介绍用js来实现的方法: 首页假设我们的导航代码是这样写的: <div id="navi"><ul><li><a href="1.html">主页</a></

织梦默认模板导航菜单标签判断首页并高亮显示首页的代码

<li {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='hover'":@me="";{/dede:field}> 2 <a href='{dede:global.cfg_cmsurl/}/'><span>主页</span></a> 3 </li> 4 {dede:channel t

织梦一二级导航菜单被点击顶级栏目高亮(加class)解决方法

织梦一二级导航菜单被点击的栏目高亮显示方法详解,废话不多说直接举例说明: 织梦一级菜单被点击栏目高亮调用方法: {dede:channel typeid ='1'  type ='son' currentstyle="<li class='on'><a href='~typelink~'>~typename~</a></li>"} <li><a href='[field:typeurl/]'>[field:type

纯css实现的三级水平导航菜单

vscode练习使用开发纯css的三级水平导航菜单.先上图: 1.html5布局 1 <html> 2 3 <head> 4 <meta charset="UTF-8"> 5 <title>水平导航菜单</title> 6 <link rel="stylesheet" href="reset.css"> 7 <link rel="stylesheet"

Angular+Bootstrap3导航菜单

Angular+Bootstrap3导航菜单 AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统.angularjs是由Google团队开发的一款非常优秀web前端框架.在当前如此多的web框架下,angularjs能脱颖而出,从架构设计上就高人一等,双向数据绑定,依赖注入,指令,MVC,模板.Angular.js创新地把后台技术融入前端开发,扫去jQuery一度的光芒.用angularjs就像写后台代码,更规范,更结构化,更可控. 关于作者 张丹(

Web前端开发实战4:导航菜单(一)

在前面的博文中我们提到横向一级菜单,这里我们来看看导航菜单.导航菜单种类很多,但是制作原理都是大同 小异的,这里看的比二级下拉式菜单还简单.来看一些网站上的导航菜单: 垂直导航菜单: 水平导航菜单: 一垂直菜单 制作原理:(1)用无序列表构建菜单:(2)<a>标签的设置:ul li a{display:block;}.定义的关键是将<a>标签设置为 块元素. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans

导航菜单滑动动画

用jquery实现百度新闻导航菜单滑动动画 前言 前两天,群里有人问百度新闻导航是如何实现的,当时由于忙于工作,没有来得及细看,恰好今天有空闲时间,索性就实现一下这个效果吧: 思路与步骤 1.利用UL创建简单横向导航: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g