Javascript 一段时间后停止功能

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() {

我想做一个简单的背景,每1400毫秒改变一次彩虹的颜色,这是我喜欢的。代码如下:

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()