数组部分JavaScript?
我有一个按钮,然后当点击运行这个功能,并希望改变我的html中有ID和循环的元素,并按顺序这样做,我不确定为什么我不能这样做!(必须使用数组来执行此操作,请记住,执行此操作的其他方法可能会有所帮助) 感谢所有回复!:) 谢谢你,詹姆斯数组部分JavaScript?,javascript,html,arrays,loops,selection,Javascript,Html,Arrays,Loops,Selection,我有一个按钮,然后当点击运行这个功能,并希望改变我的html中有ID和循环的元素,并按顺序这样做,我不确定为什么我不能这样做!(必须使用数组来执行此操作,请记住,执行此操作的其他方法可能会有所帮助) 感谢所有回复!:) 谢谢你,詹姆斯 function Example() { var color = [ "Pink", "Black",
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]
}
您应该有一个用分号分隔的条件和增量部分。使用逗号基本上只有初始化部分。然后您需要以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);
}
阅读更多信息。更改了我的代码,但仍然没有更改,因此不确定循环是否没有像设置i=0时那样工作,并将循环更改为正确的颜色,因此。。。。如果你能帮忙,谢谢!JamesTaking支持我的错误(打字错误)你有没有可能知道如何计时?它一个接一个地发生?它到底发生了什么?@coolbotic如果你想延迟事情,请使用
setInterval
或setTimeout
。这样循环运行一次,然后等待(3sec),然后再次更改下一个!还有,一旦完成,如何使循环重新开始?很抱歉问了这么多问题。