gpt4 book ai didi

javascript - 为什么秒的长度不正确?

转载 作者:搜寻专家 更新时间:2023-11-01 05:14:51 24 4
gpt4 key购买 nike

我有一个这样的 javascript 程序:

function addtime() {
curtime = document.getElementById("time").value * 1000;
curtime += 1;
document.getElementById("time").value = curtime / 1000;
}
setInterval(function () {
addtime();
}, 1);

您可能会在我的代码中看到我乘以 1000,然后除以 1000,这是因为我想每次增加一毫秒,但在“时间”输出 div 中显示秒数。但是当我打开包含这段代码的页面时,如果你明白我的意思的话,一秒钟实际上并不是“一秒钟”。目前比正常秒长三倍,我不知道为什么。

那么我的代码中存在什么问题,我该如何解决?

谢谢

卢卡斯

最佳答案

问题是 JavaScript 不能保证在您指定的时间准确调用 setInterval,但会在该时间过后的第一个机会调用它。此外,在很多(所有?)浏览器的分辨率下,1 毫秒是 waaaay。

要正确执行此操作,请获取开始时间,然后通过减去当前时间找出经过的毫秒数。

var start = new Date();
var update = function() {
var now = new Date();
var elapsed = now - start;
// now you can do something with `elapsed`,
// like stuff it into the UI
};
setInterval(update, 100);

关于javascript - 为什么秒的长度不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com