javascript - 如何启动和停止多个 JavaScript 计时器?

标签 javascript timer

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

关于javascript - 如何启动和停止多个 JavaScript 计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16595496/

相关文章:

javascript - iOS:加载 javascript 并将其注入(inject)网页的最快方法?

安卓 : Can't it possible to control 2+ activities data loading through a single timer

多个对象的 iOS 淡入淡出动画

javascript - 如何在用户不活动时淡出div

c# - 使用 TimeSpan 作为定时器间隔

javascript - button和body onclick事件同时触发

javascript - 方法 Set.prototype.add 在不兼容的接收器上调用 undefined

javascript - 访问 AngularJS + Chrome Apps API 中的工厂属性

Javascript regex-删除字符串中除单词之间的所有空格

JAVA:启动定时器,0秒停止定时器,重新启动定时器