San*_*dra 2 jquery fullcalendar
我正在使用fullcalendar v2.4,我知道选项scrollTime可用于滚动以使agendaDay滚动到某个时间,如下所示:
$('#calendarday').fullCalendar({
header: {
},
weekends: true, // show Saturdays and Sundays
defaultView: 'agendaDay',
events: entries,
scrollTime: "15:00:00",
});
Run Code Online (Sandbox Code Playgroud)
现在我想滚动到当天的第一个事件:这意味着我使用jquery在agendaDay中动态获取第一个事件的开始时间:
var firstEventTime = $("div.fc-time:first> span:nth-child(1)").text() + ":00";
Run Code Online (Sandbox Code Playgroud)
这将找到第一个div"fc-time",然后选择内部范围中的开始时间(格式为H:mm).
但是将firstEventTime放入滚动条中并不起作用
$('#calendarday').fullCalendar({
header: {
},
weekends: true, // show Saturdays and Sundays
defaultView: 'agendaDay',
events: entries,
scrollTime: firstEventTime,
});
Run Code Online (Sandbox Code Playgroud)
这有可能吗?
小智 7
通过使用eventAfterAllRender选项,我能够在agendaDay视图中滚动到第一个事件一天.
请注意,这是查看插件生成的内部元素,因此如果作者在下一版本中更改它们,则可能必须更新此方法.
我也采用了一个快捷方式,并使用了Ariel Flesler的jQuery scrollTo插件,因为我已经在使用它了.如果您愿意,可以使用自己的javascript获得相同的结果.
jQuery scrollTo插件URL
eventAfterAllRender: function(view){
if('agendaDay'===view.name){
if($('.fc-time-grid-event').length>0){
var renderedEvents = $('div.fc-event-container a');
var firstEventOffsetTop = renderedEvents&&renderedEvents.length>0?renderedEvents[0].offsetTop:0;
$('div.fc-scroller').scrollTo(firstEventOffsetTop+'px');
}
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4754 次 |
| 最近记录: |