//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);
setTimeout定时器越跑延迟越大问题修正
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 定时器的作用: 每隔一段时间或者延迟一段时间,执行一段指定的代码。 定时器的分类: 1.延迟定时器 setTi...
- 作者: 薄荷你玩 一、问题说明 JavaScript中定时器主要有setTimeout和setInterval,但...
- setInterval 与 setTimeout 语法: 上面的定时器其实还可以接受两个参数,就是给定时器的函数传...
- 背景 使用www-data用户去执行定时器,定时器用docker命令出现权限问题 新增定时器 加入docker用户组
- 题目如下, fn1() 和 fn2() 结果? 答案: 解析: 这道题涉及定时器的传参和返回值,以及JS执行顺序异...