我创建了从1开始计数的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

}


谢谢。

最佳答案

就像评论中提到的几个人一样;每当计时器增加时,都需要调用您的测试。 http://jsfiddle.net/John_C/bsAfp/

function start() {
  var timecounter = 0;
  setInterval(function () {
    timecounter = timecounter + 1;
    document.getElementById('demo').innerHTML = timecounter;
    if (timecounter === 5){
      alert('this');
    } //works now
  }, 1000);
}
start();

09-12 09:33