我正在使用Rails 4和fullCalendar,并希望实现以下功能:
使用timelineWeek视图自动将“now”指示器滚动到当前日期时间。我的所有资源都在我的Y轴上。我在使用timelineWeek视图实现此功能时遇到问题。有人可以帮忙吗?
我为它尝试了以下代码,但没有进展:
var firstHour = new Date().getUTCHours() - 5;
$('#calendar').fullCalendar({
firstHour: firstHour;
});
并且还使用了这个:
setTimeout(function(){ // Timeout
$(".fc-today").attr("id","scrollTo"); // Set an ID for the current day..
$("html, body").animate({
scrollTop: $("#scrollTo").offset().top // Scroll to this ID
}, 2000);
}, 500);
和此:
$('#calendar').fullCalendar('today');
以上代码适用于agendaWeek视图。唯一的问题是timelineWeek视图。
答案 0 :(得分:0)
我已经找到了一种方法,也许可以采取其他方式。
我决定在viewRender函数中滚动,因为它在初始加载和更改日期都被调用。
现在我首先检查当前时间是否在我的视图中,并且我们设置了插槽宽度。 然后计算当前时隙之前有多少个时隙并计算左滚动。根据您的需要进行修改:例如我想让它在昨天最左边的载荷上显示出来。
if (moment().isBetween(view.start, view.end) && view.timeGrid.slotWidth !== undefined) {
var scrollSlots = moment.duration(moment() - view.start) / moment.duration(view.viewSpec.overrides.slotDuration);
var slotWidth = view.timeGrid.slotWidth;
var scroll = {left: scrollSlots * slotWidth - $('.fc-time-area').width() / 4};
view.addScroll(scroll);
}
最终结果:加载(裁剪资源)。这是200 slotWidth的月视图。