javascript - 间隔不断变化?

标签 javascript jquery setinterval

因此,在我的代码中,如果某个元素没有执行某些操作 [playing],那么我将开始播放它。如果正在播放,请停止播放。我设法让它开始播放,但它永远不会停止。

var playing = false;
var current = 30;
$('#countDownContainer').click(function() {
        if (!playing) {
            playing = false;
            setInterval(function() {
                $('#workSpace label').get(0).innerHTML = current;
                current -= 1;
            },1000);
        } else {
            playing = true;
        }
    });

理论上,当用户点击#countDownContainer时,playing 将被设置为 false 并运行 setInterval 代码,如果它已经在播放, playing 将被设置为 true,并且当经过循环时它不会运行。但事实上,它不断地从30变化到29,然后再变回30。当我再次点击按钮时,它永远不会停止。请帮忙-谢谢

最佳答案

var clear= setInterval(function() {
                    $('#workSpace label').get(0).innerHTML = current;
                    current -= 1;
                },1000);

    clearinterval(clear);// to stop interval where you want
    //clearInterval(id_of_setinterval)

引用clearInterval

关于javascript - 间隔不断变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18402569/

相关文章:

javascript - setTimeout 设置为 0 时延迟约 100 毫秒

javascript - Iframe 中的 SharedArrayBuffer

javascript - Json 响应未定义

javascript - clearInterval() 在按钮单击时不起作用

javascript - 从由 Array 组成的对象中获取值

javascript - jQuery模板中如何设置默认打开的导航页

javascript - 将页面片段加载到 Twitter Bootstrap 模态中

javascript - 将 Javascript 的 setInterval 函数设置为可变数量——可能吗?

javascript - 使用 setInterval block 创建一个 JS 函数,直到计时器消失

javascript - jQuery – 在滚动的特定点处/之后添加一个类,上面有可变长度的内容