当我使用我为我的项目制作的fullcalendar(jQuery插件)页面时,我需要页面自动滚动到当前日期。为此,我尝试使用fullcalendar的viewRender: function(currentView) {
//console.log('view Render');
var scrollTime = moment().format("HH:mm:ss");
$('#calendar').fullCalendar({
now: '2018-05-21',
scrollTime: scrollTime
})
// $('#calendar').fullCalendar('refetchEvents' )
$('#calendar').fullCalendar('gotoDate', '2018-05-21');
}
功能,但它无法正常工作:
{{1}}
任何帮助都将不胜感激。
答案 0 :(得分:0)
fullCalendar scrollTime doc:
确定滚动窗格最初滚动的前进距离。
持续时间,默认:' 06:00:00' (上午06点)
而你实际上并没有给时间。试试:
var scrollTime = moment('12:00:00').format("HH:mm:ss");
fullCalendar接受Moment作为第二个参数,您将其作为字符串给出,但未格式化。 Doc说它接受了Moment构造函数接受的任何内容,所以它应该是正确的,但你可以更具体地给出格式。
你可以尝试:
$('#calendar').fullCalendar('gotoDate', moment('2018-05-21').format("YYYY-MM-DD"));
scrollTime用于滚动到一天中的某个时间。如果您打算滚动特定日期(p.e因为日历在屏幕上没有显示完整),我不知道是否还有其他日期。实际上有它的行为。在其他情况下,您可以使用滚动动画
$('html, body').animate({
scrollTop: ($('#element').offset().top)
},500);
此外,fullcalendar还为我们提供了管理月份和年度变化的功能。 例如下个月(Next doc):
$('#my-next-button').click(function() {
$('#calendar').fullCalendar('next');
});
在某些情况下,我们可以附加到元素并检测用户是否完全向下滚动该元素,然后更改月份:(我们需要知道必须滚动的元素或附加到满足我们所需行为的元素)
jQuery(function($) {
$('#element-with-scroll').on('scroll', function() {
if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
$('#calendar').fullCalendar('next');
}
})
});
让我们知道它是如何进步的。