setTimeout定时器越跑延迟越大问题修正

//timeRange为定时器时间间隔
var startTime = new Date().getTime();
var count = 0;
function handle () {
     count++;
     var offset = new Date().getTime() - (startTime + count * timeRange);
     var nextTime = timeRange - offset;
     if (nextTime < 0) nextTime = 0;
     timer = setTimeout(handle, nextTime);
     totalDiatane += distanceBlock
     document.getElementById('distance').innerText = totalDiatane.toFixed(2)
}
timer = setTimeout(handle, timeRange);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容