我尝试了这种实现Full Calendar Implementation。
$("#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 am 7:30 am 8:30 am。 。 。晚上11:30
我尝试了很多解决方案,但无法实现这一目标。
如果需要任何其他信息,请告知我们。
由于
答案 0 :(得分:4)
您的问题是您选择的地方。它应该是
$("#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"
。看看this 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将不显示时间。这个主题在this answer中有详细介绍。
另外一句话:您使用的是FullCalendar v1.5.4,它真的很旧,我建议您升级。如果您升级,请记住FullCalendar现在依赖于momentjs。
答案 1 :(得分:3)
只需提取您放在views
内的选项。