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>

  • 相关阅读:
    BZOJ 3390 Bad Cowtractors牛的报复
    BZOJ 4291 Kieszonkowe
    【重温基础】3.循环和迭代
    【重温基础】3.循环和迭代
    【重温基础】2.流程控制和错误处理
    【重温基础】2.流程控制和错误处理
    【重温基础】1.语法和数据类型
    【重温基础】1.语法和数据类型
    vue axios全攻略
    vue axios全攻略
  • 原文地址:https://www.cnblogs.com/zhangxinerfenxiang/p/6202518.html
Copyright © 2011-2022 走看看