Javascript 如何在此代码上插入setTimeout和setInterval

Javascript 如何在此代码上插入setTimeout和setInterval,javascript,Javascript,是否可以在此代码上插入setTimeout和setInterval?我正在尝试使背景颜色从红色变为蓝色,并将在三秒后停止。提前感谢您的帮助 <Script> var flag = true; function changeColor () { if(flag==true) { document.getElementById("yourId").style.background="red"; flag=false; } e

是否可以在此代码上插入setTimeout和setInterval?我正在尝试使背景颜色从红色变为蓝色,并将在三秒后停止。提前感谢您的帮助

<Script>

var flag = true;

function changeColor () {

    if(flag==true) {
        document.getElementById("yourId").style.background="red";
        flag=false;
    }

    else if (flag==false) {
        document.getElementById("yourId").style.background="#235CDB";
        flag = true;
    }
}


setInterval(

function changeColor () {

    if(flag==true) {
        document.getElementById("yourId").style.background="red";
        flag=false;
    }
    else if (flag==false){
        document.getElementById("yourId").style.background="#235CDB";
        flag = true;
    }
}, 400);// -->

</SCRIPT>

var标志=真;
函数changeColor(){
如果(标志==真){
document.getElementById(“yourId”).style.background=“红色”;
flag=false;
}
else if(标志==false){
document.getElementById(“yourId”).style.background=“#235CDB”;
flag=true;
}
}
设定间隔(
函数changeColor(){
如果(标志==真){
document.getElementById(“yourId”).style.background=“红色”;
flag=false;
}
else if(标志==false){
document.getElementById(“yourId”).style.background=“#235CDB”;
flag=true;
}
}, 400);// -->

具有
设置超时
功能

var flag = true;
for (var time = 400; time<=3000; time+=400){
    (function(time){
        setTimeout(changeColor,time);
    })(time);
}

function changeColor () {

    if(flag==true) {
        document.getElementById("yourId").style.background="red";
        flag=false;
    }
    else if (flag==false){
        document.getElementById("yourId").style.background="#235CDB";
        flag = true;
    }
}


注意:由于3000不能除以400,因此这两种方法都不会在3秒钟后停止

它不是和SetInterval一起工作吗?
var flag = true;
var time = 0;

var interval = setInterval(changeColor,400);

function changeColor () {

    if(flag==true) {
        document.getElementById("yourId").style.background="red";
        flag=false;
    }
    else if (flag==false){
        document.getElementById("yourId").style.background="#235CDB";
        flag = true;
    }
    time += 400;
    if (time >= 3000){
       clearInterval(interval);
    }
}