我如何计算fullcalendar中的空时隙

时间:2015-05-07 06:41:36

标签: javascript jquery calendar fullcalendar

我使用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++;
        }
    }
}

1 个答案:

答案 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属性执行相同操作。