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

时间:2011-01-31 18:49:29

标签: javascript jquery

我希望在时间到达下午3:00时触发javascript函数。

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

2 个答案:

答案 0 :(得分:7)

您只需计算当前时间与目标时间之间的差异,并将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);

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

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

答案 1 :(得分:1)

.setTimeout(function(){

//ur logic here

},time)

may be this helps