Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 间隔一段时间后更改div的背景色_Javascript_Html_Colors - Fatal编程技术网

Javascript 间隔一段时间后更改div的背景色

Javascript 间隔一段时间后更改div的背景色,javascript,html,colors,Javascript,Html,Colors,嘿,我正在尝试更改div的背景色。我已经编写了一个脚本来更改主体的背景色。代码如下 <script> colors = new Array('black', 'red', 'green'); function annoyingEffect(tic){ tic %= colors.length; document.bgColor = colors[tic]; setTimeout("annoyingEffect("+(tic+1)+")", 2000);} </script>

嘿,我正在尝试更改div的背景色。我已经编写了一个脚本来更改主体的背景色。代码如下

<script>
colors = new Array('black', 'red', 'green');
function annoyingEffect(tic){
tic %= colors.length;
document.bgColor = colors[tic];
setTimeout("annoyingEffect("+(tic+1)+")", 2000);}
</script>
<body onload="annoyingEffect(0)">

</body>

颜色=新数组(“黑色”、“红色”、“绿色”);
功能干扰效应(tic){
tic%=颜色。长度;
document.bgColor=颜色[tic];
setTimeout(“烦扰效果”(+(tic+1)+)”,2000年)
但是,如果我尝试添加一个div并在其中插入onload=“hatteringeffect(0)”函数,它将无法工作。我错过了什么?

我想这行

setTimeout("annoyingEffect("+(tic+1)+")", 2000);
应该是

setTimeout(function(){ annoyingEffect(tic+1); }, 2000);
函数参数不作为字符串传递

(http://jsfiddle.net/NSJDR/5/)如何更改主体和a


颜色=新数组(“蓝色”、“红色”、“绿色”、“黄色”、“棕色”、“橙色”);
功能干扰效应(tic){
tic%=颜色。长度;
document.bgColor=颜色[tic];
设置超时(“烦扰效果”(+(tic+1)+)”,1000);
}
函数烦扰效应IV(tic、divId){
tic%=颜色。长度;
divVar=document.getElementById(divId);
divVar.style.background=颜色[tic];
setTimeout(“烦扰效应IV”(“+(tic+1)+”,“+divId+”)”,1000);
}
你好,D
​
请参见演示:

添加您的JS:

document.getElementById('customid').style.background = colors[tic]; \*your div id*\
HTML

<body onload="annoyingEffect(0)">
    <div id="customid"></div>
</body> 
colors = new Array('black', 'red', 'green');
function annoyingEffect(tic){
    tic %= colors.length;
    //document.bgColor = colors[tic];
    document.getElementById('customid').style.background = colors[tic];   
    setTimeout("annoyingEffect("+(tic+1)+")", 2000);} 

似乎对我有用:你必须在setTimeoutthanx mate中以字符串的形式传递函数,这就成功了,但我不得不稍微更改代码以满足我的需要,但它工作得很好:-)
colors = new Array('black', 'red', 'green');
function annoyingEffect(tic){
    tic %= colors.length;
    //document.bgColor = colors[tic];
    document.getElementById('customid').style.background = colors[tic];   
    setTimeout("annoyingEffect("+(tic+1)+")", 2000);}