根据日期时间触发客户端 javascript

Trigger client side javascript based on datetime

我有一个 event_start 时间,我想在事件开始 10 秒后 运行 一个脚本,但不知道如何触发脚本。

const date = Date().toString();
const currentDateParse = Date.parse(date);
const trigger = Date.parse(startTime) + 1000 * 10

这就是我尝试触发脚本的方式,但它不起作用。当 currentDateParse 等于 trigger 时如何启动我的函数。或者,更简单地说,事件开始后 10 秒。

if (currentDateParse = trigger)
   <function code underneath works already>

计算现在和你想要触发脚本的时间差,然后使用setTimeout()调用它。

const timediff = trigger - new Date().getTime();
setTimeout(function() {
    // do what you want
}, timediff);

试试这个(下面的解释):

let startTime = "18:00";
let currentTime = new Date();
let target = new Date().parse(startTime);

let timeout = target - currentTime + 1000 * 10; // how long should it wait till the functions is executed

function runTenSecAfterEvent() {
  // do something here
}

setTimeout(runTenSecAfterEvent, timeout);

解释

计算完target(开始时间)和currentTime后,需要知道它们之间的时间差(timeout),所以target减去currentTime。之后,添加 10000ms.

然后定义将在事件发生 10 秒后执行的函数 (runTenSecAfterEvent())。

最后,您创建一个 timeout