是否可以启动setInterval计数器时钟相关的而不是负载相关的? 假设每台计算机始终具有同一分钟的时钟。
如果我在12:01打开页面,并且希望设置2分钟的间隔,该间隔始终从12:00(或其他任何小时,但在:00分钟)开始。我希望事件在12:02、12:04等时触发,无论何时加载页面或页面是否在12:00打开。
答案也可以在jquery中。
答案 0 :(得分:0)
您可以将增量带到下一个所需的插槽,并调整超时时间。
function out(k, v) {
console.log(k.toString().padEnd(8), v.toString().padStart(15));
}
var time0 = new Date().getTime(),
slot = 2 * 60 * 1000,
time1 = Math.floor(time0 / slot + 1) * slot,
delta = time1 - time0;
out('slot', slot);
out('delta', delta);
out('time0', time0);
out('time1', time1);
setTimeout(function () {
var time2 = new Date;
out('time2', time2.getTime());
out('real', time2.getTime() - time0);
console.log(time2.toISOString());
}, delta);