我是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 函数更新全局声明的变量。提前谢谢!
答案 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;
}