计算功能执行

时间:2017-10-16 04:36:45

标签: javascript

我是JavaScript的初学者,请耐心等待。

我正在尝试编写一个函数,每次调用它时都会改变对象的颜色。

以下是代码:

var i = 0;
    var colors=["blue","red","green","yellow","lime"];
    function changeColor(a, colors) {
        if (i==4) {
            i=0;
         }
         a.style.color=colors[i];
         i++;
         }

我需要一个计数器,以便它可以在调用时迭代数组(颜色)。 那么,如何通过 changeColor 函数更新全局声明的变量。提前谢谢!

2 个答案:

答案 0 :(得分:0)

您的代码应该可以正常运行。我建议使用i =(i + 1)%5将i从0迭代到4的更短的方法当i +1为5时它将返回0

var i = 0;
var colors=["blue","red","green","yellow","lime"];
function changeColor(a, colors) {
    i = (i +1)%colors.length;
    a.style.color=colors[i];
}

如下面建议的@ guest271314,我将数字更改为colors.length,使其更灵活到颜色数组的大小。

答案 1 :(得分:0)

要在索引为"lime"时到达4,在索引为"blue"时到达0,您可以在color条件之前设置if值并使用else声明

var i = 0;
var colors = ["blue", "red", "green", "yellow", "lime"];

function changeColor(colors) {
  document.body.style.color = colors[i];
  if (i == 4) {
    i = 0;
  } else {
    i++;
  }
}

setInterval(function() {
  document.body.textContent = i;
  changeColor(colors);
}, 1500)
body {
  width: 100vw;
  height: 100vh;
  font-weight: 36px;
}