数组部分 JavaScript?

Array Section JavaScript?

我有一个按钮,点击后会运行此功能,并想更改我的 html 中具有 ID 和循环的元素,并按顺序执行此操作,但我不确定为什么我无法执行此操作! (必须使用数组来执行此操作,请记住执行此操作的替代方法可能会有所帮助) 所有回复表示赞赏! :) 谢谢詹姆斯

function Example() {

                    var color = [
                        "Pink",
                        "Black",
                        "Orange"
                    ];

                    var ids = [
                        "Top",
                        "Mid",
                        "Bot"
                    ];



                for (i = -1, i != 3, i = i + 1) {
                     document.getElementById(ids[i]).style.background = color[i]

                }

您的 for-loop 应该有一个条件和增量部分,用分号分隔。使用逗号,您基本上只有初始化部分。然后你需要用 i = 0 开始循环,因为它将是循环中的第一个值。另外,在声明变量时不要忘记 var

试试这个:

for (var i = 0; i != 3; i = i + 1) {
    document.getElementById(ids[i]).style.background = color[i];
}

UPD。要在迭代之间添加延迟 (3s = 3000ms),您可以这样做:

for (var i = 0; i != 3; i = i + 1) {
    (function(index) {
        setTimeout(function() {
            document.getElementById(ids[index]).style.background = color[index];
        }, 3000 * index);
    })(i);
}

详细了解 closures in loops