我制作了一个 JS 秒表,其格式为 H:m:s:ms 当达到 60 分钟时,它总是增加到 61,62 等等
我正在使用 setInterval 这是我的代码:
n = 3600;
td = setInterval(function ()
{
n++;
let hours = parseInt(n / 3600);
var m = parseInt(n / 60)
var s = parseInt(n / 60 % 60);
var M = parseInt(n % 60);
// let hours = Math.floor(((n[ids] / 1000) / 60) / 60) % 24
// let m = Math.floor((n[ids] / 1000) / 60) % 60
// let s = Math.floor(n[ids] / 1000) % 60
// let M = Math.floor(n[ids] % 1000)
$("#display0").html(toDub(hours) + ":" + toDub(m) + ":" + toDub(s) + ":" + toDub(M))
}, 1000 / 60);
完整源代码:https://jsfiddle.net/greycat/danvL42s/2/
我确定我的 m 变量有问题。
谁能帮帮我吗?
最佳答案
逻辑如下:一秒是其 60 毫秒的小数部分的四舍五入值,一分钟是其 60 秒的小数部分的四舍五入值,依此类推。
您可以重构时间变量,如下所示:
var M = parseInt(n % 60);
var s = parseInt(n / 60 % 60);
var m = parseInt(n / 60**2 % 60);
var hours = parseInt(n / 60**3 % 60);
关于javascript - JS 秒表定时器 H :m:s:ms format, 当达到 60 分钟时,分钟不会重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74397978/