javascript - 递归倒数计时器

标签 javascript recursion timer countdown

我正在尝试创建一个从 25 分钟开始到 0 结束的 JavaScript 计数器。这个想法是将分钟/秒显示为页面上的倒计时时钟(我的目标 div 称为“txt”)。但我没有得到我想要的结果 - 每次运行函数时(每毫秒)计时器不会减去。关于我哪里出错了有什么想法吗?代码如下:

function countdown() {

    var target = 1500000; // 25 mins
    var current = 1000; // 0 secs

    for (var i=0; i<5; i++) {
        var diff = target-current;           // calculates the 25 minutes
        var min = Math.floor(diff/1000/60);  //gets mins
        var sec = (diff/1000) % 60;          // gets secs
        current = current+1000;

        document.getElementById("txt").innerHTML = min + ":" + sec;
        var t = setTimeout(countdown, 2500);}
    }

}

最佳答案

您需要在函数之外定义当前。目前,每次运行该函数时,您都会将其重置为 1000。

关于javascript - 递归倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37150291/

相关文章:

javascript - Rxjs 递归与 bindcallback

javascript - 如何使谷歌地图不脱离世界界限?

Javascript - 根据前缀重构字符串数组

python - 使用 Beautiful Soup 在 Python 中递归地抓取网站的所有子链接

c - jiffies 如何在无滴答内核中递增?

C# .NET - 带定时器的缓冲消息

ios - 我的代码中不断出现错误,特别是 "Type ' FirstViewController' has no member"和 "Use of unresolved identifier"

javascript - 彼此上方的两个 Canvas 返回不同的 x,y 坐标

javascript - 使用 angular.js 进行路由 空白页面

c - 为什么这没有生成所有可能的子集?