如何在时间到达特定时间时触发功能

pta*_*mzz 5 javascript jquery

我想在时间到达,比如下午3点时触发javascript函数.

时间将动态分配.那么有没有任何javascript函数来实现?

mae*_*ics 8

您只需计算当前时间与目标时间之间的差异,并使用setTimeout()该值.

例如,根据目标浏览器解析日期的方式,您可以执行以下操作:

function alert3pm() {
  alert("It's 3PM!");
}
var timeAt3pm = new Date("1/31/2011 03:00:00 PM").getTime()
  , timeNow = new Date().getTime()
  , offsetMillis = timeAt3pm - timeNow;
setTimeout(alert3pm, offsetMillis);
Run Code Online (Sandbox Code Playgroud)

或者更确切地说,解析日期(因为浏览器之间确实不一致)你可以做这样的事情:

function getTimeAtHour(hour) {
  var t = new Date();
  t.setHours(hour);
  t.setMinutes(0);
  t.setSeconds(0);
  t.setMilliseconds(0);
  return t;
}
Run Code Online (Sandbox Code Playgroud)