将fullcalendar滚动到当前时间?

时间:2010-07-23 12:06:20

标签: javascript jquery ruby-on-rails fullcalendar

7 个答案:

答案 0 :(得分:10)

答案 1 :(得分:7)

在v2上已经改变了,这是在这个新版本中如何做到这一点:

$('#calendar').fullCalendar({
    defaultView: 'agendaWeek',
    scrollTime: '09:00:00'
});

答案 2 :(得分:6)

这是我以前在视图中滚动到当前时间的内容:

var scrollTime = moment().format("HH:mm:ss");
$('#calendar').fullCalendar({
    now: today,
    scrollTime: scrollTime
});

出于用户体验目的,我向下舍入到最近的小时,以便用户可以清楚地看到日历视图的位置(时间):

var scrollTime = moment().format("HH") + ":00:00";
$('#calendar').fullCalendar({
    now: today,
    scrollTime: scrollTime
});

检查fullCalendar scrollTime参数。

答案 3 :(得分:1)

我遇到了类似的问题并用这个解决方案解决了......

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);    

答案 4 :(得分:1)

如果您需要动态设置选项(在日历初始化之后) 那么正确的方法是使用this链接

var scrollTime = '10:00:00'; //replace this any time you need
$('#calendar').fullCalendar('option', 'scrollTime', scrollTime);

答案 5 :(得分:0)

对于fullcalendar@^4.3.0,我在日历的渲染范围开始处使用了scrollToTime函数:

string

因此它对我有效:

calendar.state.dateProfile.renderRange.start

顺便说一句,不管 var calendarEl = document.getElementById('scheduler'); var calendar = new FullCalendar.Calendar(calendarEl, { ... }) var now = new Date(); var rangeStart = calendar.state.dateProfile.renderRange.start; // attention here calendar.scrollToTime(now - rangeStart); 的值是多少。

答案 6 :(得分:-1)