我有每 10 秒重新获取日历中的事件的代码。但在此之前,它需要正确渲染(如果过去的时间或 future 的时间则不同的颜色),所以我使用变量 now
和 time
来获取时间。但现在我得到首先设置的 time
,它总是相同的,并且我需要获取使用 setInterval 函数设置的 time
。
我可以以某种方式先使用变量 time
仅一次还是有其他解决方案?
var now = new Date();
var time = now.getTime();
setInterval(function(){
var now = new Date();
var time = now.getTime();
$('#calendar').fullCalendar('refetchEvents');
}, 10 * 1000);
if (eventTime < time) {
//do something
}else {
// do something else
}
最佳答案
从 setInterval 函数中的 now
和 time
中删除 var
,它会在那里重新创建这些变量。
为了访问新值,请在更改时间
后调用所有内容。
尝试如下
var now = new Date();
var time = now.getTime();
setInterval(function(){
now = new Date();
time = now.getTime();
$('#calendar').fullCalendar('refetchEvents');
if (eventTime < time) {
//do something
}else {
// do something else
}
}, 10 * 1000);
关于javascript - 使用变量一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064555/