javascript 颜色无限循环如何实现

这是我写的代码,存在问题<script>functionforcolor(){//varred=document.bgColor='red';//vargreen=doc... 这是我写的代码,存在问题
<script>
function forcolor(){
//var red = document.bgColor='red';
//var green = document.bgColor='green';
//var blue = document.bgColor='blue';
for(var i=0;i<2;i++){
//alert(i);
switch(i){
case 0:
document.bgColor='red';
break;
case 1:
document.bgColor='blue';
break;
case 2:
document.bgColor="#333";
break;
case 3:
document.bgColor='#666';
break;
default:
alert("ERR STOP");
return forcolor();
}

}
}
setTimeout('forcolor()',1000);
</script>
上面的代码存在问题,颜色没有显示出来for循环就执行完了,而且setTimeout好像也失灵了
展开
 我来答
JackyCho
2012-10-05 · TA获得超过311个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:247万
展开全部
var i = 0;
function forcolor(){
switch(i){
case 0:
document.bgColor='red';
i++;
break;
case 1:
document.bgColor='blue';
i++;
break;
case 2:
document.bgColor="#333";
i++;
break;
case 3:
document.bgColor='#666';
i = 0;
break;
default:
alert("ERR STOP");
i = 0;
return forcolor();
}
}
setInterval(forcolor, 1000);

//setTimeout是只执行一次, 你用for循环来显示颜色, 但是for循环在一瞬间就完成了, 所以你看到的颜色只会是#666
Nearlion
2012-10-10
知道答主
回答量:9
采纳率:0%
帮助的人:13.4万
展开全部
你的代码错误较多,下面改正确了,自己对比看看 想想吧
<script>
var i=0;
function forcolor(){
switch(i){
case 0:
document.bgColor='red';
break;
case 1:
document.bgColor='blue';
break;
case 2:
document.bgColor="#333";
break;
case 3:
document.bgColor='#666';
break;
}
i++;
if(i>3)i=0;
setTimeout(function(){forcolor()},1000);
}
window.onload=forcolor;
</script>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式