快捷导航

菜鸟求助!setInterval执行函数的时候最后一次执行为什么不能执行完成函数

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个方块,每一个方块先变为黄色,然后变为白色,但是现在最后一个方块只显示黄色而不能变成白色,求助各位大神!

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

setInterval('changeColor()',300);        vararr=document.getElementsByTagName('li');        vari=0;        varj=i-1;        varcount=0;        functionchangeColor(){        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语句里把定时器清除了,定时器一直运行对页面也是有影响的。
回复

使用道具 举报

最后一行不是backgroundColor吗吗吗吗?
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP