javascript/jquery倒计时器与JSfiddle的例子?

cgw*_*b87 3 javascript jquery timer

我正在构建一些东西,其中一个是倒计时器,倒计时永远不会超过一个小时,所以我需要做的就是倒计时分钟和秒.

我有部分工作,但问题是前导零.我让它在几秒钟内工作但不是分钟.

看看我的例子http://jsfiddle.net/cgweb87/GHNtk/

JavaScript的

setInterval(function() {
var timer = $('span').html();
timer = timer.split(':');
var minutes = timer[0];
var seconds = timer[1];
seconds -= 1;
if (minutes < 0) return;
if (minutes < 10 && length.minutes != 2) minutes = '0' + minutes;
if (seconds < 0 && minutes != 0) {
    minutes -= 1;
    seconds = 59;
}
else if (seconds < 10 && length.seconds != 2) seconds = '0' + seconds;
    $('span').html(minutes + ':' + seconds);
}, 1000);
Run Code Online (Sandbox Code Playgroud)

HTML

<span>10:10</span>
Run Code Online (Sandbox Code Playgroud)

我想要发生的是倒数计时器可以在1小时以内的任何地方开始,它将以前导零(即这种格式)倒计时;

08:49 46:09

当它到达倒计时只是显示:

00:00

感谢任何输入,我不想使用插件,我想学习它.

Jon*_*ski 10

setInterval返回您稍后可以使用的标识clearInterval:

var interval = setInterval(function() {
    /* snip */
    $('span').html(minutes + ':' + seconds);

    if (parseInt(minutes, 10) == 0 && parseInt(seconds, 10) == 0)
        clearInterval(interval);
}, 1000);
Run Code Online (Sandbox Code Playgroud)

并且,为了避免不断增加的分钟 - 00000001:42- 或者:

  1. 更改length.minutesminutes.length您的前缀测试.
  2. 在检索时将值转换为Numbers var minutes = parseInt(timer[0], 10);- 并且只是测试if (minutes < 10) ....

选择#2,这是一个更新:http://jsfiddle.net/BH8q9/