所以我有以下内容。它可能没有正确的语法,因为我必须删除几行,但它的工作原理。只是我必须刷新页面才能更新计数器。
有没有办法让计数器每隔一分钟更新一次。 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>
答案 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);
});