如何在变量中重新实例化日期对象?

时间:2018-02-07 10:44:57

标签: javascript

所以我有以下内容。它可能没有正确的语法,因为我必须删除几行,但它的工作原理。只是我必须刷新页面才能更新计数器。

有没有办法让计数器每隔一分钟更新一次。 setInterval不起作用,因为loginDown new Date没有再次实例化(页面没有刷新)loginDown是否有办法每分钟再次实例化?

function counter(hours, minutesLeft){
  alert(hours + minutesLeft);
}

$(document).ready(function() {
  var now = new Date();

  var loginDown = new Date(now.getFullYear(), now.getMonth(),now.getDate(), 15,10,0,0) - now;
  var date = new Date(loginDown);
  var hours = date.getHours();
  var minutesLeft = date.getMinutes();
  counter(hours,minutesLeft);
  setInterval(counter(hours,minutesLeft), 60000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:2)

  

setInterval不起作用,因为loginDown new Date还没有   再次实例化(页面没有刷新)是否有办法   loginDown每分钟再次实例化?

,您只是不将函数引用作为参数传递

成功

   setInterval(function(){counter(hours,minutesLeft)}, 60000);

另外,请在counter方法本身中实例化您的日期。

function counter(){
   var now = new Date();
   var date = new Date(now.getFullYear(), now.getMonth(),now.getDate(), 15,10,0,0) - now;
   var hours = date.getHours();
   var minutesLeft = date.getMinutes();
   alert(hours + minutesLeft);
}

$document.ready({
            setInterval(counter, 60000);
});