javascript - 倒计时 HH :MM:SS in Jquery

标签 javascript jquery countdown

我想以 hh:mm:ss 格式倒计时器,所以我使用此代码,它将秒转换为所需的格式,但当我倒计时时,它显示我 NaN 。你能告诉我我做错了什么吗 这是代码

<div id="timer"></div>

JS

String.prototype.toHHMMSS = function () {
    var sec_num = parseInt(this, 10); // don't forget the second parm
    var hours = Math.floor(sec_num / 3600);
    var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
    var seconds = sec_num - (hours * 3600) - (minutes * 60);

    if (hours < 10) {
        hours = "0" + hours;
    }
    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    var time = hours + ':' + minutes + ':' + seconds;
    return time;
}

var count = '62';
count = count.toHHMMSS();

var counter = setInterval(timer, 1000);

function timer() {

    count--;
    if (count <= 0) {
        clearInterval(counter);
        return;
    }

    $('#timer').html(count);
}

这是 JsFiddle 链接 CountDown Timer

最佳答案

好吧,让我们看看您的代码做了什么:

  • count 设置为字符串值 62
  • 将其转换为 HHMMSS,因此现在 count 等于字符串 00:01:02
  • 启动计时器。
  • 第一次运行计时器时,减少计数。呃... count 是一个字符串,你不能递减它。结果不是数字。

好的,既然如此,如何修复它:

function formatTime(seconds) {
    var h = Math.floor(seconds / 3600),
        m = Math.floor(seconds / 60) % 60,
        s = seconds % 60;
    if (h < 10) h = "0" + h;
    if (m < 10) m = "0" + m;
    if (s < 10) s = "0" + s;
    return h + ":" + m + ":" + s;
}
var count = 62;
var counter = setInterval(timer, 1000);

function timer() {
    count--;
    if (count < 0) return clearInterval(counter);
    document.getElementById('timer').innerHTML = formatTime(count);
}

关于javascript - 倒计时 HH :MM:SS in Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18506582/

相关文章:

javascript - 如何使用在隐藏字段内指定的日期设置日期选择器的最大日期和最小日期

javascript - 如何从数组中获取单个字段

Jquery 多个事件的倒计时器

javascript - jQuery Countdown Plugin - 只显示非零周期

javascript - 带有 JavaScript 的树无法正常工作

javascript - 如何从 JavaScript 对象中删除项目

jquery - 将 Instagram 照片拉至网站

python - 如何在 Pygame 中制作圆形倒数计时器?

javascript - 在表单中显示 <A id> 内部占位符

javascript - 检测 Canvas 内的鼠标点击位置