如何在时间到达特定时间时触发某个功能
答
您只需计算当前时间与目标时间之间的差异,并使用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);
或者说,instaed解析日期(因为这是浏览器之间的真正矛盾),你可以做类似的这样的:
function getTimeAtHour(hour) {
var t = new Date();
t.setHours(hour);
t.setMinutes(0);
t.setSeconds(0);
t.setMilliseconds(0);
return t;
}
你想trigge准确地在下午3点,或者如果在下午3点通过了特定的时间间隔? – 2011-01-31 18:52:46
就像我想在每天下午3点触发该功能一样。就像一个警报。 (虽然时间将在稍后动态分配) – ptamzz 2011-01-31 18:58:03