setInterval('changeColor()',300); var arr = document.getElementsByTagName('li'); var i = 0; var j = i-1; var count = 0; function changeColor(){ count++; arr[i++].style.backgroundColor="yellow"; if(j >= 0){ arr[j].style.backgroundColor = "white"; } j++; } arr[29].style.background="white"; 这是我写的代码,效果就是本来背景为蓝色的30个方块,每一个方块先变为黄色,然后变为白色,但是现在最后一个方块只显示黄色而不能变成白色,求助各位大神!
3 回答
已采纳
FSYu
TA贡献152条经验 获得超59个赞
setInterval('changeColor()', 300); var arr = document.getElementsByTagName('li'); var i = 0; var j = i - 1; var count = 0; function changeColor() { count++; if(i >= 29) i=29; if(j >= 29) j=29; arr[i++].style.backgroundColor = "yellow"; if(j >= 0) { arr[j].style.backgroundColor = "white"; } j++; }
i超过29就会出现错误,无法向下进行了,要加条件语句控制一下,最好在j的if语句里把定时器清除了,定时器一直运行对页面也是有影响的。
添加回答
举报
0/150
提交
取消