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好像也失灵了 展开
<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好像也失灵了 展开
2个回答
展开全部
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
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
展开全部
你的代码错误较多,下面改正确了,自己对比看看 想想吧
<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>
<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>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询