javascript - 根据事件选项卡更改文本颜色

标签 javascript html css

根据我在这里发布的问题 Unable to add a background colour to the button in navigation

我已经设法解决了我的问题并继续我的工作,但是,我遇到的一个问题是根据事件选项卡更改导航栏元素的字体颜色。 “当前事件”选项卡通过 CSS 赋予了正确的颜色,所以我希望 CSS 部分是正确的,从而使 JavaScript 部分成为一个问题。

var header = document.getElementById("navbar");
var btns = header.getElementsByClassName("topnavbar");
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
  });
}
 .active {
    text-decoration: none;
    color: #4da6ff;
    outline: none;  
 }
<div id="navbar" >
   <ul>
       <li> <a class="topnavbar active" href="" id="home"title="Home">HOME </a> </li>
       <li> <a class="topnavbar"        href="" id="movies" title="Movies">MOVIES </a> </li>
       <li> <a class="topnavbar"        href="" id="theaters" title="Theaters">THEATERS </a></li>
       <li> <a class="topnavbar"        href="" id="buytickets" title="Buy Tickets Online">BUY TICKETS ONLINE </a> </li>
       <li style="float:right"><a class="btn btn-scope1 navbar-btn" id="btn1" href="">TEST YOUR KNOWLEDGE </a> </li>	
    </ul>	
</div>

我做错了什么?

最佳答案

检查下面,我已经粘贴了您的确切代码,它似乎工作正常,我所做的只是在您的 href 上添加 # 以便它保持在同一页面上。

var header = document.getElementById("navbar");
var btns = header.getElementsByClassName("topnavbar");
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
  });
}
 .active {
    text-decoration: none;
    color: #4da6ff;
    outline: none;
    background: #34495e;
 }
<div id="navbar" >
   <ul>
       <li> <a class="topnavbar active" href="#" id="home"title="Home">HOME </a> </li>
       <li> <a class="topnavbar"        href="#" id="movies" title="Movies">MOVIES </a> </li>
       <li> <a class="topnavbar"        href="#" id="theaters" title="Theaters">THEATERS </a></li>
       <li> <a class="topnavbar"        href="#" id="buytickets" title="Buy Tickets Online">BUY TICKETS ONLINE </a> </li>
       <li style="float:right"><a class="btn btn-scope1 navbar-btn" id="btn1" href="">TEST YOUR KNOWLEDGE </a> </li>	
    </ul>	
</div>

关于javascript - 根据事件选项卡更改文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105016/

相关文章:

javascript - 我的 for 循环不起作用,我不知道为什么

html - 这个悬停代码有什么问题

javascript - 需要在不影响父元素的情况下点击每个 li 元素

android - 如何防止 Android 设备上的 Chrome(或一般的手机互联网浏览器)用非标准 Unicode 符号替换表情符号?

html - 固定宽度的水平滚动条

javascript - 如何隐藏选择选项的旧样式版本?

javascript - 在 pebble js 文件中包含外部 javascript 库?

java - 如何在Android中将数据从cordova插件传递到index.html

javascript - 无法缩小此文件(node_modules)中的代码

android - 移动设备上的 JQuery 按钮 CSS