我想在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