zoukankan      html  css  js  c++  java
  • js实现当前导航菜单高亮显示

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

    首页假设我们的导航代码是这样写的:

    <div id="navi">
    <ul>
    <li><a href="1.html">主页</a></li>
    <li><a href="2.html">栏目1</a></li>
    </ul>
    </div>

    下面是js代码:
    <script type="text/javascript" language="javascript">
    var nav = document.getElementById("navi");
    var links = nav.getElementsByTagName("li");
    var lilen = nav.getElementsByTagName("a");
    var currenturl = document.location.href;
    var last = 0;
    for (var i=0;i<links.length;i++)
    {
       var linkurl =  lilen[i].getAttribute("href");
         if(currenturl.indexOf(linkurl)!=-1)
            {
             last = i;
            }
    }
             links[last].className = "hl";
    </script>

    复制这段js代码加到body里。注意:
    1.getElementById("navi");这一句括号里的navi必须与<div id="navi">里的navi一致。
    2.js代码必须加到body里,即加到导航的下面,不能加到head里,否则出错不能使用。
    3.links[last].className = "hl";中的hl是高亮代码的样式类名。
    最后再写一下高亮的css代码就可以了,如下:
    #navi ul li.hl a{
    color:#123456;
    }
    这样就实现当前导航菜单高亮显示了。

  • 相关阅读:
    关于cocos2dx之lua使用TableView
    设计模式-----工厂模式
    android YUV Sensor配置Camera应用的flash auto菜单
    AngularJS实现cookie跨域
    julia/pyplot 绘图加入标签和标题
    自己写unicode转换ascii码,wchar*到char*
    Android笔记——Activity中的数据传递案例(用户注冊)
    IIS预编译提升载入速度
    Python Tkinter 基础控件学习
    spfile
  • 原文地址:https://www.cnblogs.com/xiaolinxi/p/5188875.html
Copyright © 2011-2022 走看看