//Reset At Midnight
function resetAtMidnight() {
var now = new Date();
var night = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate() + 1, // the next day, ...
0, 0, 0 // ...at 00:00:00 hours
);
var msToMidnight = night.getTime() - now.getTime();
setTimeout(function() {
reset(); // <-- This is the function being called at midnight.
resetAtMidnight(); // Then, reset again next midnight.
}, msToMidnight);
}
function reset() {
$('#calendar').fullCalendar('today');
}
我试图让FullCalendar.js每天午夜更新当天。我从此处的另一篇文章中拉出了此重置代码段-但重置功能似乎未执行。
答案 0 :(得分:0)
您没有提供完整的详细信息,所以我不知道您到底需要什么,但是遵循以下代码可以帮助您解决问题。
您可以使用moment.js库轻松地检查午夜。 以下代码摘自另一篇Best Way to detect midnight and reset data
$(document).ready(function() {
var midnight = "0:00:00";
var now = null;
setInterval(function() {
now = moment().format("H:mm:ss");
if (now === midnight) {
alert('reset() function here');
}
$("#time").text(now);
}, 1000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<code id="time"></code>
完全控制:
您可以根据需要使用rerenderEvents或refetchEvents。所以会是这样
function reset(){
$('#calendar').fullCalendar('rerenderEvents');
OR
$('#calendar').fullCalendar('refetchEvents');
}
如果您想重新绘制完全控件,则这是另一条内容丰富的帖子're-draw fullcalendar'
如您所愿,您可以
$('#calendar').fullCalendar('destroy');
$('#calendar').fullCalendar('render');