Javascript换色器只在第二次点击时改变颜色?

时间:2017-01-17 20:55:44

标签: javascript html

所以我有一个导航栏,我正在努力使它突出显示当前标签,但是我的javascript不起作用,它只适用于第二次点击,并且只有双击。

function navColourChange(id){
  var navBarLinks=document.getElementsByClassName("navLinks");
  for(i=0;i<navBarLinks.length;i++){
    navBarLinks[i].style.borderTop = "thick solid #ffffFF";
    navBarLinks[i].style.color="#2F2933"
    console.log(i)
  }
  var link = navBarLinks[id]
  link.style.borderTop = "4px solid #01A2A6";
  link.style.color="#01A2A6"
}
<div class="NavBar">
  <ul>
    <li>
      <a href="index.html" id="navButton1" class="navLinks" onclick="navColourChange(0)">HOME</a>
    </li>
    <li>
      <a href="about.html" id="navButton3" class="navLinks" onclick="navColourChange(1)">ABOUT</a>
    </li>
    <li>
      <a href="Portfolio.html" id="navButton4" class="navLinks" onclick="navColourChange(2)">PORTFOLIO</a>
    </li>
    <li>
      <a href="Contact.html" id="navButton2" class="navLinks" onclick="navColourChange(3)">CONTACT</a>
    </li>
  </ul>
</div>

看起来像like

1 个答案:

答案 0 :(得分:0)

如果您真正想要的是通过JavaScript / jQuery高亮显示导航栏中当前页面的方法,您可以执行以下操作:

public void foreachloop()
{
    int[] T = { 1, 2, 3, 4, 5, 6, 7 };
    int x = T[0];

    for (int element : T) {
        if (element > x) {
            x = element;
        }
    }

    System.out.println(x);
}

在这里,我们从url中找到文件名,然后在导航栏中设置a-element的样式,该文件名为href。