Javascript 单击切换开始/恢复失败。clearInterval 不起作用

标签 javascript jquery

嘿,我目前正在通过构建一个倒计时来练习 jquery,您可以单击该倒计时来暂停或恢复。 但clearInterval() 不起作用。 每次我单击圆圈时,它都会创建一个新的倒计时。我不知道为什么。

var status="pause";
var timeleft=1500;

$("#circle").click(function(){
    var timer;
    if(status==="pause"){
        status="start";
        alert(status);
         timer=setInterval(function(){
            $("#timer").text(Math.floor(timeleft/60)+":"+timeleft%60);      
            timeleft--;
        },1000);
    }
    else if(status==="start"){
        status="pause";
        alert(status);
        clearInterval(timer);
    }

});

最佳答案

您的“计时器”变量的范围位于点击处理程序内。这意味着每次都会创建一个新的。为了只保留一个,它应该被限制在该处理程序之外。

关于Javascript 单击切换开始/恢复失败。clearInterval 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44204940/

相关文章:

javascript - 谷歌浏览器应用程序开发是否允许您将 html 和 javascript 添加到本地存储的文件中,具体取决于用户

javascript - 如果 IF 语句结束函数,为什么要使用 IF...ELSE?

javascript - 如何将部分 View 中生成的 HTML 插入到 javascript 代码中?

javascript - 如何修复跨浏览器环境下的宽度属性

jquery - 如何阻止jquery的点击功能?

javascript - 将游标设置为具有 is-inactive 类的元素的默认值

javascript - 用循环填满我的双手

javascript - Laravel 中 Sweet Alert 的删除方法

jquery - 如何对具有输入元素的列进行排序?

javascript - 使用 li 项目中的 javascript 通过数据属性检索 id