Fullcalendar timelineview - 恢复滚动位置

时间:2018-04-04 04:25:33

标签: fullcalendar-scheduler

我使用了完整的日历时间轴视图。时间轴视图使用 setInterval(function(){refreshEvents();},30000)每30秒自动刷新一次;

对于刷新我使用 removeEvents addEventSource 所以我需要在removeEvents之前得到timelineview的垂直滚动位置,并在addEventSource之后恢复滚动位置,因为每个刷新滚动位置都会丢失

那么如何在自动刷新事件

时恢复时间轴视图的滚动位置

见下面的代码:

$('#divCalendar').fullCalendar({
        resourceAreaWidth: 200,
        allDaySlot: false,
        timeFormat: 'HH:mm', // uppercase H for 24-hour clock
        slotLabelFormat: 'HH:mm', // uppercase H for 24-hour clock
        eventDurationEditable: false,
        header: {
                    left: 'today prev,next',
                    center: 'title',
                    right: 'timelineDay',
                },
         views: {
                    timelineDay: {
                        type: 'timeline',
                        slotDuration: '00:02:00'
                    }
                },
        resources: function (callback) {
                    // necessary hack
                    var view = $('#divCalendar').fullCalendar('getView');
                    $.ajax({
                        url: '/Dispatcher/GetTimeLineDriverList',
                        dataType: 'json',
                        cache: false,
                        data: {
                            start: view.start.format(),
                            end: view.end.format()
                        }
                    }).then(function (resources) {
                        callback(resources);
                    });
                },
        events: {
                    url: '/Dispatcher/GetDriverTripSchedules'
                },
});

 function refreshEvents() {
                var calenderDate = $('#divCalendar').fullCalendar('getDate').format("MM-DD-YYYY");
                $.ajax({
                    url: '/Dispatcher/GetDriverTripSchedules',
                    success: function (response) {
                        $('#divCalendar').fullCalendar('removeEvents');
                        $('#divCalendar').fullCalendar("addEventSource", response);
                    }
                });

}

 setInterval(function () { refreshEvents(); }, 30000);

0 个答案:

没有答案