尝试创建一个简单的函数来更改页面的背景颜色

时间:2018-03-15 04:55:39

标签: javascript html css

正如标题所说,我正在尝试创建一个实现它的功能。

这是我的JavaScript:

var clickCount = 0;
var colors = ["red", "blue", "green"];

function changBgColor(color) {
    var bodyTag = document.getElementsByTagName("body");
    bodyTag[0].style.backgroundColor = color;
}

function changeBg() {
    changeBgColor(colors[clickCount]);
    clickCount++;

    clickCount = clickCount % bgColors.length;
}

当从我的html中调用函数changeBg()时,它什么也没做,我正试图理解为什么会这样。

2 个答案:

答案 0 :(得分:2)

您的代码中存在一些拼写错误。

var clickCount = 0;
var colors = ["red", "blue", "green"];

function changeBgColor(color) {
  var bodyTag = document.getElementsByTagName("body");
  bodyTag[0].style.backgroundColor = color;
}

function changeBg() {
  changeBgColor(colors[clickCount]);
  //---^------ missing e
  clickCount++;

  clickCount = clickCount % colors.length;
  // array variable name ---^^^^^^---
  
  // you can combine the above 2 lines if needed
  // clickCount = ++clickCount % colors.length;
  
  // or all 3 lines
  // changeBgColor(colors[ clickCount++ % colors.length]);
  
}
<button onclick="changeBg()">click</button>

答案 1 :(得分:0)

在声明功能&changBgColor&#39;时,拼写错误。你错过了一个&#39;。

此外,您正在执行 clickCount%bgColors.length; ,此处未定义bgColors。使用 colors.length 代替

&#13;
&#13;
var clickCount = 0;
var colors = ["red", "blue", "green"];

function changeBgColor(color) {
var bodyTag = document.getElementsByTagName("body");
bodyTag[0].style.backgroundColor = color;
}

function changeBg() {
changeBgColor(colors[clickCount]);
clickCount++;

clickCount = clickCount % colors.length;
}
&#13;
<button onClick='changeBg();'>change color</button>
&#13;
&#13;
&#13;