我使用http://fullcalendar.io/的fullcalendar。当视图类型为月份时,我需要获取空闲时段的数量。
任务: 月视图。如果一天有空闲时段(没有事件),那么日必须是绿色,用户可以点击这一天。如果日期已满,则颜色为红色,用户无法点击。
我不知道我怎么能这样做,如果有人帮助我,我会很高兴。
function eventAfterAllRenderFunction(view) {
if (view.name == "month") {
var arrDate = [];
$('#calendar').fullCalendar('clientEvents', function (eventObj) {
arrDate[arrDate.length] = moment(eventObj.start).format('YYYY-MM-DD');
});
//console.log(arrDate);
var i = 0;
var count = 20;
while (i < arrDate.length - 1) {
if (arrDate[i] == arrDate[i + 1]) {
count--;
if (count == 0)
$("td[data-date=" + arrDate[i] + "]").css('background-color', '#FA8072'); //red
}
else {
count = 20;
}
i++;
}
}
}
答案 0 :(得分:0)
我想我找到了解决方案。
首先,使用eventBackgroundColor将所有日期设置为绿色。
然后,在您的活动数据中,为具有事件的日期指定另一种颜色:
events: [
{
'title' : 'event1',
'start' : '2015-05-07'
'backgroundColor' : 'red'
},
{
'title' : 'event2',
'start' : '2015-05-08',
'end' : '2015-05-09',
'backgroundColor' : 'red'
}
]
每日颜色会覆盖绿色。
关于选择/取消选择,只需使用selectable属性执行相同操作。