我们可以通过设置 hiddenDays 属性隐藏来自fullcalendar的特定日期。
我需要隐藏一个月的其他星期六。
有可能吗?
答案 0 :(得分:8)
您可以使用dayRender
回调函数:
此回调可让您修改属于月份的日期单元格, basicWeek和basicDay视图。查看可用视图。
date是给定日期的本机Date对象。
检查显示的是否是一个奇怪的星期六;这样做你可以得到日期的周数,并检查它是否奇怪。
代码:
Date.prototype.getWeekOfMonth = function(exact) {
var month = this.getMonth()
, year = this.getFullYear()
, firstWeekday = new Date(year, month, 1).getDay()
, lastDateOfMonth = new Date(year, month + 1, 0).getDate()
, offsetDate = this.getDate() + firstWeekday - 1
, index = 1 // start index at 0 or 1, your choice
, weeksInMonth = index + Math.ceil((lastDateOfMonth + firstWeekday - 7) / 7)
, week = index + Math.floor(offsetDate / 7)
;
if (exact || week < 2 + index) return week;
return week === weeksInMonth ? index + 5 : week;
};
function isOdd(num) { return num % 2;}
$('#mycalendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
events: [{
title: 'event1',
start: '2014-01-07'
}, {
title: 'event2',
start: '2014-01-10',
end: '2013-05-15'
}, {
title: 'event3',
start: '2014-01-13 12:30:00',
allDay: false // will make the time show
}],
dayRender: function (date, cell) {
if (date.getDay() == 6 && isOdd(date.getWeekOfMonth())) {
$(cell).addClass('fc-disabled');
}
}
});