Colors 结合超时更改颜色
我有一个超时间隔,并希望更改每个间隔的hop1和hop2的颜色。颜色在1000ms、900ms、800ms等时发生变化。为什么我的代码不起作用Colors 结合超时更改颜色,colors,timeout,intervals,Colors,Timeout,Intervals,我有一个超时间隔,并希望更改每个间隔的hop1和hop2的颜色。颜色在1000ms、900ms、800ms等时发生变化。为什么我的代码不起作用 var interval = 1000; var change = 1; function callback() { interval -= 100;
var interval = 1000;
var change = 1;
function callback() {
interval -= 100;
if (change = 1)
{
mainContent1 = document.getElementById("hop1");
mainContent1.style.backgroundColor = "#FFFF99";
mainContent2 = document.getElementById("hop2");
mainContent2.style.backgroundColor = "#FFFFFF";
change += 1;
}
else if (change = 2)
{
mainContent2 = document.getElementById("hop2");
mainContent2.style.backgroundColor = "#FFFF99";
mainContent1 = document.getElementById("hop1");
mainContent1.style.backgroundColor = "#FFFFFF";
change = 1;
}
setTimeout( callback, interval, change);
}
setTimeout( callback, interval, change);
将代码更改为此,并确保在达到预期间隔后停止调用setTimeout:
var interval = 1000;
var change = 1;
function callback() {
interval -= 100;
if (change == 1)
{
mainContent1 = document.getElementById("hop1");
mainContent1.style.backgroundColor = "#FFFF99";
mainContent2 = document.getElementById("hop2");
mainContent2.style.backgroundColor = "#FFFFFF";
change += 1;
}
else if (change == 2)
{
mainContent2 = document.getElementById("hop2");
mainContent2.style.backgroundColor = "#FFFF99";
mainContent1 = document.getElementById("hop1");
mainContent1.style.backgroundColor = "#FFFFFF";
change = 1;
}
setTimeout( callback, interval);
}
setTimeout( callback, interval);
在
if
子句中使用=
而不是只使用=
!单个=
将执行赋值,而不是比较。