我的事件以随机的颜色显示,但我希望得到这样的结果:

javascript - 在FullCalendar上为事件增添色彩-LMLPHP

我想整天涂上一个事件。我已经使用自定义视图和eventRender方法进行了一些研究,但是我不知道如何为有事件的所有日子着色。
更改的简化代码:

$('#calendar').fullCalendar({
    eventRender: function(event, element) {
        // here, event.parent().css("background-color:pink;"); ??
    }
});

最佳答案

要为包含事件的单元格(td)的背景色着色,您需要找到该td并更改其背景色。幸运的是,每个td都有一个data-date,因此请尝试将eventRender更改为

eventRender: function (event, element) {
    var eventStart = moment(event.start);
    var eventEnd = event._end === null ? eventStart : moment(event.end);
    var diffInDays = eventEnd.diff(eventStart, 'days');
    $("td[data-date='" + eventStart.format('YYYY-MM-DD') + "']").css('background-color','pink');
    for(var i = 1; i < diffInDays; i++) {
        eventStart.add(1,'day');
        $("td[data-date='" + eventStart.format('YYYY-MM-DD') + "']").css('background-color','pink');
    }
}


我希望这有帮助。

10-04 10:47