从var = 1200更改计时器以显示mm:ss标题

时间:2015-06-05 14:30:26

标签: javascript svg timer

我正在开发一个循环计时器,其中代码与svg绘图有关。 我目前有以下js代码。这显示计时器从-1200向上计数到达0但不显示“ - ”,所以看起来它正在倒计时。请有人告诉我一种使用相同代码的方法,但是从20分钟算起来,所以看起来好像是一个数字时钟?

var seconds = 1200; /* how long the timer runs for */
var initialOffset = '440';
var i = -1200;
var interval = setInterval(


function() {
    $('.circle_animation').css('stroke-dashoffset', initialOffset-(i*(initialOffset/seconds)));
    $('h2').text(Math.abs(i));
    if (i == 0) {
        clearInterval(interval);
    }
    i++;  
}, 1000);

2 个答案:

答案 0 :(得分:0)

您正在使用Math.abs(),它将返回正数。 abs(-1200)将导致1200

你可以在你的价值前面添加减号( - ),如下所示

$('h2').text("-" + Math.abs(i));

答案 1 :(得分:0)

给定i秒,您可以使用以下内容将其转换为分钟/秒:

var secs = Math.abs(i); // convert your negative count to positive
var m = Math.floor(secs/60);
var s = i%60;

要将这些显示为时钟,您需要填充第二个值以确保它始终是两位数字(即“09”而不是“9”):

var clock = m+":"+(s<10?"0":"")+s;