zoukankan      html  css  js  c++  java
  • 讲解版的导航高亮(新手福利)原生JS

    1、先写样式:

    导航的排版样式;

    导航对应高亮样式:

    .d6000f{

      background:red;

    }

    .d6000f a{

      color:#fff;

    }

    我这个地方导航高亮样式为背景红色,字体颜色为白色

    2、HTML代码:

    直接粘个过来

    <ul class="nav">
       
      <li class="aa"><a class="aaa" href="/">首页</a></li>
       
      <li class="aa"><a class="aaa" href="***">11111</a>
       
      <div class="nav2 ntop" id="nav2">
       
      <ul class="nav2_ul">
       
      <li><a href="***">111112</a></li>
       
      <li><a href="***">111113</a></li>
       
      <li><a href="***">111114</a></li>
       
      <li><a href="***">111115</a></li>
       
      <li><a href="***">111116</a></li>
       
      </ul>
       
      </div>
       
      </li>
       
      <li class="aa"><a class="aaa" href="***">22222</a></li>
       
      <li class="aa">
       
      <a class="aaa" href="***">33333</a>
       
      <div class="nav2 ntop" id="nav3">
       
      <ul class="nav2_ul">
       
      <li><a href="***">333332</a></li>
       
      <li><a href="***">333333</a></li>
       
      </ul>
       
      </div>
       
      </li>
       
      <li class="aa"><a class="aaa" href="***">44444</a></li>
       
      <li class="aa"><a class="aaa" href="***">55555</a></li>
       
      <li class="aa"><a class="aaa" href="***">66666</a></li>
       
      </ul>

    因为在网站中每个顶级导航栏对应不同的页面,那么我们如何让它在对应的页面时,对应的li高亮呢?

    下面我们用js代码写下操作。

    3、JS代码:

    <!--导航高亮jsd代码-->
    <script type="text/javascript" language="javascript">
          /*顶级导航所有的li*/
         
    var links = document.getElementsByClassName("aa");
          /*顶级导航所有的li对应的a*/
         
    var lilen = document.getElementsByClassName("aaa");
          /*当前地址栏的url*/
         
    var currenturl = document.location.href;
          /*创建变量用来接收数据*/
         
    var last = 0;
          /*遍历顶级导航中所有li*/
         
    for (var i=0;i<links.length;i++)
          {
                /*声明变量接收每个li的url*/
               
    var linkurl lilen[i].getAttribute("href");
                /*判断当前地址栏的url和当前li的url路径对应则执行下面赋值("indexof"判断为-1时,是找不到对应的字符串,而"! = -1",说的就是可以找到对应的字符串)*/
               
    if(currenturl.indexOf(linkurl)!=-1)
                {
                      /*将当前的li的索引赋给last*/
                     
    last = i;
                }
          }
          /*当前li设置class名称为设置好的样式"d6000f"*/
         
    links[last].className = "d6000f";

    </script>

  • 相关阅读:
    liunx 学习
    Tracert 命令使用说明图解
    好的程序员应该收集一些不错的 类和方法
    apache 多端口
    数组中随机抽取一个或多个单元 (0086一随机显示列表)
    PHP 应具备的知识 学习
    rdlc报表中不显示0
    教程:VS2010 之TFS入门指南
    ORA00161: 事务处理的分支长度 xx 非法 (允许的最大长度为 64) 解决方法
    DataGridView编辑
  • 原文地址:https://www.cnblogs.com/thongyan/p/6186932.html
Copyright © 2011-2022 走看看