Javascript 一段时间后停止功能
我想做一个简单的背景,每1400毫秒改变一次彩虹的颜色,这是我喜欢的。代码如下:Javascript 一段时间后停止功能,javascript,html,background,Javascript,Html,Background,我想做一个简单的背景,每1400毫秒改变一次彩虹的颜色,这是我喜欢的。代码如下: function onload() { var color = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]; var body = document.getElementById('body'); var i = 0; function rainbow() {
function onload() {
var color = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"];
var body = document.getElementById('body');
var i = 0;
function rainbow() {
if(i == color.length) {i = 0;};
body.style.backgroundColor = color[i++];
setTimeout(rainbow, 1400);
};
rainbow();
};
onload();
但在运行此功能6049毫秒后,我希望背景以50毫秒的间隔而不是1400毫秒的间隔进行更改。我将如何执行此操作?您可以在另一个类似这样的计时器中更改间隔
函数onload(){
var color=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“靛蓝”、“紫色”];
var body=document.getElementById('body');
var i=0;
var区间=1400;
函数彩虹(){
if(i==color.length){
i=0;
};
body.style.backgroundColor=颜色[i++];
console.log(“间隔为:”+Interval);
设置超时(彩虹,间隔);
};
var intervalTimer=setTimeout(函数(){
间隔=50;
clearTimeout(intervalTimer);
}, 6049);
彩虹();
};
onload()代码>
您可以在另一个类似这样的计时器中更改间隔
函数onload(){
var color=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“靛蓝”、“紫色”];
var body=document.getElementById('body');
var i=0;
var区间=1400;
函数彩虹(){
if(i==color.length){
i=0;
};
body.style.backgroundColor=颜色[i++];
console.log(“间隔为:”+Interval);
设置超时(彩虹,间隔);
};
var intervalTimer=setTimeout(函数(){
间隔=50;
clearTimeout(intervalTimer);
}, 6049);
彩虹();
};
onload()代码>
由于初始间隔为1400ms,并且您希望在6049ms后更改,这意味着在第5次和第6次颜色更改(0ms、1400ms、2800ms、4200ms、5600ms、7000ms)之间会发生到50ms的更改。这意味着我们可以使用i
索引来设置setTimeout
间隔(i<6?1400:50)
函数onload(){
var color=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“靛蓝”、“紫色”];
var body=document.getElementById('body');
var i=0;
函数彩虹(){
document.body.style.backgroundColor=颜色[i++%color.length];
设置超时(彩虹,(i<6?1400:50));
};
彩虹();
};
onload()代码>由于初始间隔为1400ms,并且您希望在6049ms后更改,这意味着在第5次和第6次颜色更改(0ms、1400ms、2800ms、4200ms、5600ms、7000ms)之间会发生到50ms的更改。这意味着我们可以使用i
索引来设置setTimeout
间隔(i<6?1400:50)
函数onload(){
var color=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“靛蓝”、“紫色”];
var body=document.getElementById('body');
var i=0;
函数彩虹(){
document.body.style.backgroundColor=颜色[i++%color.length];
设置超时(彩虹,(i<6?1400:50));
};
彩虹();
};
onload()代码>