我想在JavaScript中运行一个计时器30秒钟,播放一个提示音.WAV文件,然后计数10秒钟,然后再次播放提示音。我希望重复此操作,直到达到所需时间或用户进行干预并单击停止按钮为止。

这就是我的实现方式:

function startWorkOut(param) {

        if (param === 1) {
            setTimeout(playBeep, 30000); //30 second workout
        }
        else if (param === 0) {
            setTimeout(playBeep, 10000); //10 second rest
        }
        return;
}

function playBeep() {

        beep.play(); //already loaded above this snippet

        i++; //simple switch for going back and forth between 30 & 10 secs
        if (i % 2 === 1) {
            startWorkOut(0);
        }
        else startWorkOut(1);

        return;

}


问题是我不知道如何阻止它。因为这两个函数来回调用,所以我需要知道如何进行一些手动中断。

最佳答案

将其分配给变量

 var beepTimer = setTimeout(playBeep, 30000); //30 second workout

clearTimeout(beepTimer);  // This will clear that timer

09-18 10:41