我尝试了此实现“完整日历实现”。
$("#available_classes_calendar").fullCalendar({
header: {
left : 'prev,next',
center : 'title'
},
defaultView: 'agendaWeek',
views:{
agenda:{
allDaySlot: false,
minTime: "06:30:00",
maxTime: "24:00:00",
slotDuration: "00:60:00"
}
}
});
在此全天列中,应从上午6:30开始,间隔时间应为1小时。
因此,全天列应如下所示:
上午6:30上午7:30上午8:30。。。晚上11:30
我尝试了很多解决方案,但无法实现这一目标。
请让我知道是否需要其他信息来解决此问题。
谢谢
您的问题就是放置选项的地方。它应该是
$("#available_classes_calendar").fullCalendar({
header: {
left : 'prev,next',
center : 'title'
},
defaultView: 'agendaWeek',
allDaySlot: false,
minTime: "06:30:00",
maxTime: "24:00:00",
slotDuration: "06:00:01"
});
关于显示器06:30
,07:30
等等,在纵轴上,你需要设置slotDuration: "06:30:01"
。看看这个jsfiddle。
最重要的是要注意的01
第二件事slotDuration
。没有这个,您将无法显示半小时。
关于为什么需要“ +01”秒的解释:
FullCalendar支持半小时或任何您想要的时间轴,但是您需要做一些古怪的事情。这背后的原因是源代码本身(查看FullCalendar 2.3.1的源代码),从5714行到5719行:
((!slotNormal || !minutes) ? // if irregular slot duration, or on the hour, then display the time
'<span>' + // for matchCellWidths
htmlEscape(slotDate.format(this.axisFormat)) +
'</span>' :
''
现在,$slotNormal
在5701行中定义它,并且是:
var slotNormal = this.slotDuration.asMinutes() % 15 === 0;
因此,如果您有30分钟的时段,则条件将为false,并且FullCalendar将不会显示该时间。这个问题在这个答案中有很深的介绍。
还有一点要注意:您使用的是FullCalendar v1.5.4,它确实很旧,我建议您升级。如果要升级,请记住,FullCalendar现在依靠momentjs。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句