我想在我的日历中显示 15 分钟的 slotMinutes。但这不起作用。在这个小提琴上效果很好
$(document).ready(function() {
var calendar = $('#calendar').fullCalendar({
defaultView: 'agendaWeek',
editable: true,
slotMinutes: 15,
selectable: true,
//header and other values
select: function(start, end, allDay) {
endtime = $.fullCalendar.formatDate(end,'h:mm tt');
starttime = $.fullCalendar.formatDate(start,'ddd, MMM d, h:mm tt');
var mywhen = starttime + ' - ' + endtime;
$('#createEventModal #apptStartTime').val(start);
$('#createEventModal #apptEndTime').val(end);
$('#createEventModal #apptAllDay').val(allDay);
$('#createEventModal #when').text(mywhen);
$('#createEventModal').modal('show');
}
});
要访问小提琴,请单击http://jsfiddle.net/mccannf/AzmJv/16/...但是,它不会起作用mine, 我究竟做错了什么?
您正在将 v1 小提琴与 v2 小提琴进行比较。
在 v2 中没有slotMinutes
。相反,你应该使用slotDuration
(请参阅文档),应设置为:
slotDuration: '00:15:00'
这是更新的jsfiddle.
编辑:在垂直轴上添加每个时隙的描述
上一个小提琴显示 15 分钟时段,但垂直轴只有小时(例如上午 6 点、上午 7 点等)。
如果你想让垂直轴有所有的时间段(6am、6:15am、6:30am、6:45am),你可以查看源代码fullcalendar.js
第 5780 行(版本 2.1.1),其中有一个函数称为slatRowHtml
.
在此函数中,使用以下条件来写入时间:!slotNormal || !minutes
, where:
var slotNormal = this.slotDuration.asMinutes() % 15 === 0;
minutes = slotDate.minutes();
So, slotNormal
始终为真(我们设置了 15 分钟的时间段)并且minutes
将0
, 15
, 30
and 45
。由于条件为负 (!slotNormal || !minutes
), 这意味着!slotNormal
总是false
and !minutes
仅当minutes = 0
,这就是为什么只显示小时数的原因。
要解决这个问题,您有两种选择,每一种都有其怪癖:
- Set
slotNormal = '00:15:01'
。有了这个值slotNormal
将为 false,并且所有插槽都会有描述。这样做的问题是,您要在每个时间段中添加一秒,这意味着,在打印 fullcalendar 时3pm
, 这将是3:01pm
因为增加了秒数。你可以检查这个 JSFiddle.
- 从源代码中删除整个条件并维护
slotDuration = '00:15:00'
。这可行,但您需要记住每次更新 FullCalendar 时检查条件,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)