Javascript 随机背景色设置间隔
我试图将我的背景设置为三种颜色中的一种,但代码始终不起作用。我认为这背后有语法错误,但我无法调试它。怎么了Javascript 随机背景色设置间隔,javascript,Javascript,我试图将我的背景设置为三种颜色中的一种,但代码始终不起作用。我认为这背后有语法错误,但我无法调试它。怎么了 var backcolor='yellow'; window.onload = function() var x=1; setInterval( function() { document.body.style.backgroundColor = backcolor; x = Math.floor(Math.random() * 3) + 1; if (x==1) {back
var backcolor='yellow';
window.onload = function()
var x=1;
setInterval(
function() {
document.body.style.backgroundColor = backcolor;
x = Math.floor(Math.random() * 3) + 1;
if (x==1)
{backcolor='yellow';}
else if (x==2)
{backcolor='orange';}
else if (x==3)
{backcolor='red';}
}, 1000);
您的
onload
函数缺少{
和}
。应该是:
var backcolor = 'yellow';
window.onload = function () {
var x = 1;
setInterval(function () {
document.body.style.backgroundColor = backcolor;
x = Math.floor(Math.random() * 3) + 1;
if (x == 1) {
backcolor = 'yellow';
} else if (x == 2) {
backcolor = 'orange';
} else if (x == 3) {
backcolor = 'red';
}
}, 1000);
}
请注意,如果您正确缩进代码,这种情况会更加明显。还请注意,您可以使用x
声明将var backcolor
变量声明移动到onload
函数中,而无需全局声明
还请注意,通过去掉if/else结构,可以使函数更短、更整洁:
window.onload = function () {
var colors = ['yellow', 'orange', 'red'];
setInterval(function () {
document.body.style.backgroundColor =
colors[Math.floor(Math.random()*colors.length)];
}, 1000);
}
演示:您缺少window.onload=函数的开始和结束括号。看见