Javascript 如何在此代码上插入setTimeout和setInterval
是否可以在此代码上插入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
<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);
}
}