全天安排Javascript / jQuery功能

时间:2014-03-15 01:33:42

标签: javascript jquery

我正在构建一个运行无格式网络浏览器的数字建筑目录。我想执行各种Javascript& jQuery在一天中的特定时间运行,最初只是为了隐藏和显示各种对象,但稍后也会做一些更高级的操作。

我不能使用一个简单的计时器,因为事件需要在一小时内准确触发,或者恰好在小时前5分钟触发,等等.AKA,而不仅仅是“每小时”。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

在计算当前时间与目标时间之间的差异后,你可以使用简单的计时器:

node.js中的示例:

> setTimeout(function() { console.log(new Date()); }, (new Date('2014-03-15T02:38:30+0100')).getTime() - Date.now());
{ _idleTimeout: 22653,
  _idlePrev: 
   { _idleNext: [Circular],
     _idlePrev: [Circular],
     msecs: 22653,
     ontimeout: [Function: listOnTimeout] },
  _idleNext: 
   { _idleNext: [Circular],
     _idlePrev: [Circular],
     msecs: 22653,
     ontimeout: [Function: listOnTimeout] },
  _idleStart: 1394847487347,
  _onTimeout: [Function],
  _repeat: false }
> Sat Mar 15 2014 02:38:30 GMT+0100 (CET)

您可以使用以下方式创建特定时间的时间戳:

date = new Date('YYYY-MM-DDThh:mm:ss+0000'); // adjust the time zone as needed
date.getTime() // e.g. 1394847510000

现在从中减去Date.now(),你得到了等待的毫秒数,现在可以传递给setTimeout