gpt4 book ai didi

javascript - SetInterval 和 SetTimeout 迭代数组

转载 作者:行者123 更新时间:2023-12-01 01:56:20 24 4
gpt4 key购买 nike

我想用 for 创建一个简单的迭代数组。但无法使该脚本工作...如果有人可以指导自学,我很感激任何想法!

    var colors = ['green', 'red', 'blue', 'grey', 'orange'];
function chColor(){
setInterval(
function(colors){
for(var i = 0; i <= colors.lenght; i++){
document.body.style.backgroundColor = Colors[i];
}},3000)}
(function(){setTimeout(function(){chColor()},3000);})();

最佳答案

您可以获取颜色索引并在每个间隔后递增,并使用余数运算符和数组长度进行调整。

您的问题:

  • 带有参数的函数的间隔,该参数永远不会被移交,因此它是未定义

  • for 区间内的循环,直接迭代并在最后使用使用的

  • 数组 Colors 不存在。 JavaScript 是区分大小写的语言。

  • 由于 for 循环,如果采用正确的数组,最终颜色始终相同。

  • setTimeout 的使用不明确,它将 chColor 的调用推迟了 3 秒。第一次颜色变化是 3 秒后......

function chColor(colors, i) {
setInterval(
function() {
document.body.style.backgroundColor = colors[i];
i++;
i %= colors.length;
},
3000
);
}

var colors = ['green', 'red', 'blue', 'grey', 'orange'];
chColor(colors, 0); // take colors as array and start with index zero

关于javascript - SetInterval 和 SetTimeout 迭代数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51010777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com