我的事件以随机的颜色显示,但我希望得到这样的结果:
我想整天涂上一个事件。我已经使用自定义视图和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');
}
}
我希望这有帮助。