Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将计时器从var=1200更改为显示标题所在的mm:ss_Javascript_Svg_Timer - Fatal编程技术网

Javascript 将计时器从var=1200更改为显示标题所在的mm:ss

Javascript 将计时器从var=1200更改为显示标题所在的mm:ss,javascript,svg,timer,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(

我正在开发一个循环计时器,其中的代码与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);
您正在使用Math.abs(),它将返回正数。abs(-1200)将导致1200

您可以在值前面加上负号(-),如下所示

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

给定
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+”:“+(这不是我真正想要的tbh mate。我想要一种方法将计时器从1200秒转换为20分零秒,而不必更改整个代码集,如果可能的话?
var clock = m+":"+(s<10?"0":"")+s;