我尝试按时间更改盒子的颜色。
我想用一个计数器计算下一种颜色,并用我拥有的颜色数对其取模。
使用正常的Number可以正常工作,但是如果我使用Array.lenght,我会得到NaN作为结果。
box = document.getElementById("box");
k = 0;
colors = ["purple", "green", "red", "orange", "yellow", "blue"];
setInterval(function() {
console.log(colors.length); // shows 6
box.style.backgroundColor = colors[k];
k++;
k = k % colors.lenght;
// k %= 6; works fine.
console.log(k); // shows NaN
}, 1000);
#box {
width: 100px;
height: 100px;
}
<div id="box"></div>
感谢您的帮助。
答案 0 :(得分:1)
远射,但这仅仅是拼写错误吗?
k = k % colors.lenght;
应该:
k = k % colors.length;
...一直在我身边
答案 1 :(得分:0)
您有colors.lenght
没有colors.length
。
答案 2 :(得分:0)
您的代码中有拼写错误。k = k % colors.lenght;
应该是k = k % colors.length;