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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容