数组部分 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。
我有一个按钮,点击后会运行此功能,并想更改我的 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。