为什么我只能在javascript中更改一次CSS样式?

时间:2019-05-07 14:47:26

标签: javascript

我希望能够使用js在多种颜色之间更改框的backgroundColor,但我似乎找不到方法。有可能吗?

window.onload = function() {
var example=document.getElementById("example");
var click=0;
example.addEventListener("click", func);

function func(){
    if (click===0){
    example.style.backgroundColor=("red");
    click=1;
    }
    if (click===1){
    example.style.backgroundColor=("blue");}
    click=0;
    }
}

1 个答案:

答案 0 :(得分:0)

您的代码将检查该值是否为零。如果是,它将设置为1。在该if语句之后,立即查看它是否为1,并将其设置回零。

您需要使用else if或仅使用else,以便它不评估下一个if语句。

function func(){
    if (click === 0){
      example.style.backgroundColor = "red";
      click = 1;
    }
    //else if (click === 1) {
    else {
      example.style.backgroundColor = "blue";
      click = 0;
    }
}

我个人只是切换课程

var elem = document.querySelector("#test")
elem.addEventListener("click", function () {
  elem.classList.toggle("on");
});
div.example {
  background-color: blue;
}

div.example.on {
  background-color: lime;
}
<div id="test" class="example">Click Me</div>