jQuery自动刷新页面上的时钟时间

时间:2015-05-28 11:25:47

标签: javascript jquery setinterval

如何根据时钟时间每15分钟自动刷新页面?

例如:在9:00,9:15,9:30,9:45,10:00,10:15刷新,等等..

我见过一个类似我想要的东西:https://stackoverflow.com/a/1217945/551559但我不认为它能胜任。

setInterval(function(){
  // check clock time on every minute??
  if ( clock_time === '9:15' ) {

  }
},1000);

有人可以给我一个解决方案或任何链接来查看吗?

5 个答案:

答案 0 :(得分:10)

setInterval(function(){
    var minutes = (new Date()).getMinutes()
    if ( !minutes%15 ) location.reload(); // if minutes is a multiple of 15

},60000); // 60.000 milliseconds = 1 minute

解释是否(!分钟%15):

minutes % 15是模运算。将分钟数除以15并返回其余部分。因此,如果结果为0,则表示分钟是15的倍数。

现在我们需要反转该值:0等于false,所以我们想要!0(不是零=真)

如果分钟是15的倍数,我们最终会得到if( ! minutes % 15 )

答案 1 :(得分:2)

我不确定您是否希望每15分钟后重新加载一次,无论何时开始。但是如果你需要访问当地时间并获得当前的小时和分钟,请使用:

var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes();

您可以这样检查:

setInterval(function(){
  var dt = new Date();
  var clock_time = dt.getHours() + ":" + dt.getMinutes();
  if ( clock_time === '9:15' ) {
     location.reload();
  }
},1000);//or every min, 60000

希望它有所帮助。

答案 2 :(得分:1)

如果我们处于15分钟的倍数

,您可以使用模数运算符
setInterval(function(){
  var Now = new Date();
  if ( Now.getMinutes() % 15 == 0 ) {

  }
},60000); // Run me every minute

答案 3 :(得分:0)

在页面加载或通过任何其他触发器调用此函数时,它将设置页面在达到xx时完全重新加载的超时。[00 | 15 | 30 | 45] .00

function quaterlyRelaod() {
  var d = new Date(), min = d.getMinutes(), sec = d.getSeconds();
  var timeout = ((15-min%15)*60-sec)*1000;
  setTimeout(function(){ window.location.reload(); }, timeout);
}

答案 4 :(得分:-2)

<meta http-equiv="refresh" content="5"; URL=http://www.yourdomain.com">

如果必须在脚本中使用设置超时,如

setTimeout(function(){   window.location.reload(1); }, 5000);