Javascript 使用setInterval()将函数设置为按某个值运行
我创建了从1开始计数的Javascript 使用setInterval()将函数设置为按某个值运行,javascript,function,if-statement,while-loop,setinterval,Javascript,Function,If Statement,While Loop,Setinterval,我创建了从1开始计数的start()函数 我希望它在经过一段时间后做一些事情,例如5秒 如何做到这一点 我尝试过使用if(timecounter==5)但不起作用 如果我把放在while(timecounter
start()
函数
我希望它在经过一段时间后做一些事情,例如5秒
如何做到这一点
我尝试过使用if(timecounter==5)
但不起作用
如果我把放在while(timecounter<5){continue}
中,然后从上面输入If
语句,我进入无限循环
function start() {
setInterval(function () {
timecounter = timecounter + 1;
document.getElementById('demo').innerHTML = timecounter;
}, 1000);
var clickArea = document.getElementById('clickBox');
document.getElementById('boxText').style.color = 'white';
clickArea.addEventListener("click", function () {
counter += 1;
});
if (timecounter === 5) {
alert('this');
} //Doesn't work
}
谢谢。就像评论中提到的一些人一样;每当计时器递增时,都需要调用测试
就像评论中提到的几个人一样;每当计时器递增时,都需要调用测试
如果您在下面查看,
setInterval
的回调函数是您可以添加支票的地方。该回调函数每次都会被调用,您将其设置为1000
function start() {
setInterval(function () {
timecounter = timecounter + 1;
document.getElementById('demo').innerHTML = timecounter;
// this function will be the function that is getting called every second.
// here you can put in your checks for 5 seconds.
if (timecounter === 5) {
// do something
}
}, 1000);
var clickArea = document.getElementById('clickBox');
document.getElementById('boxText').style.color = 'white';
clickArea.addEventListener("click", function () {
counter += 1;
});
}
如果您在下面查看,
setInterval
的回调函数是您可以添加支票的地方。该回调函数每次都会被调用,您将其设置为1000
function start() {
setInterval(function () {
timecounter = timecounter + 1;
document.getElementById('demo').innerHTML = timecounter;
// this function will be the function that is getting called every second.
// here you can put in your checks for 5 seconds.
if (timecounter === 5) {
// do something
}
}, 1000);
var clickArea = document.getElementById('clickBox');
document.getElementById('boxText').style.color = 'white';
clickArea.addEventListener("click", function () {
counter += 1;
});
}
为什么不使用setTimeout()?
if(timecounter==5){
将始终为false,因为您在setInterval
中设置了timecounter
。函数的其余部分将只触发一次。它需要在回调中。为什么不使用setTimeout()?if(timecounter==5){
将始终为false,因为您在setInterval
中设置了计时器。函数的其余部分将只触发一次。它需要在回调中。