Javascript 使用FullCalendar上的事件为日期着色

Javascript 使用FullCalendar上的事件为日期着色,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我的事件以随机颜色显示,但我希望得到如下结果: 我想把所有的日子都涂上一层颜色。我已经对自定义视图和eventRender方法进行了一些研究,但我不知道如何为所有有事件的日子着色。 要更改的简化代码: $('#calendar').fullCalendar({ eventRender: function(event, element) { // here, event.parent().css("background-color:pink;"); ?? } })

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

我想把所有的日子都涂上一层颜色。我已经对自定义视图和eventRender方法进行了一些研究,但我不知道如何为所有有事件的日子着色。 要更改的简化代码:

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

要为包含事件的单元格(
td
)的背景色上色,需要找到该单元格并更改其背景色。幸运的是,每个
td
都有一个
数据日期
,因此请尝试将
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');
    }
}
eventRender:function(事件,元素){
var eventStart=时刻(event.start);
var eventEnd=event.\u end==null?eventStart:moment(event.end);
var diffInDays=eventEnd.diff(eventStart,“days”);
$(“td[data date='”+eventStart.format('YYYY-MM-DD')+“]”).css('background-color','pink');
对于(变量i=1;i

我希望这有帮助

要为包含事件的单元格(
td
)的背景色上色,需要找到该单元格并更改其背景色。幸运的是,每个
td
都有一个
数据日期
,因此请尝试将
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');
    }
}
eventRender:function(事件,元素){
var eventStart=时刻(event.start);
var eventEnd=event.\u end==null?eventStart:moment(event.end);
var diffInDays=eventEnd.diff(eventStart,“days”);
$(“td[data date='”+eventStart.format('YYYY-MM-DD')+“]”).css('background-color','pink');
对于(变量i=1;i

我希望这有帮助

谢谢!:)然而,它只适用于每个活动的第一天。。。fullcalendar不是有这样的东西吗:“如果这一天有一个事件”?@Didi我已经更新了我的答案,涵盖了跨越一天以上的事件。我不知道fullcalendar是否有“如果这一天有活动”,你可能需要翻阅文档。非常感谢!它工作得很好:)是的,我做了一些研究,但我正在处理这个服务器端,所以我不能使用
.fullCalendar(“客户事件”)
不幸的是。。。但是你的解决方案是有效的,非常感谢!我认为您需要添加
.not(“.fc day top”)
,并将其更改为
背景
,而不是
背景色
(至少在我的情况下),它会正常工作。老兄,我以前是这样做的——我想这可以解决问题<代码>$(“td[数据日期='”+eventStart.format('YYYY-MM-DD')+“']”)。非(“.fc日顶”).css('background',event.backgroundColor”)@user1274820谢谢你提出来。我当时使用的
fullcalendar
版本从来没有出现过问题(如果我记性好的话)。但他们可能改变了一些事情。我认为发表你的评论是一个好主意,作为对其他在这个问题上遇到困难的人的回答。如果您发布您的答案,请随时标记我。谢谢!:)然而,它只适用于每个活动的第一天。。。fullcalendar不是有这样的东西吗:“如果这一天有一个事件”?@Didi我已经更新了我的答案,涵盖了跨越一天以上的事件。我不知道fullcalendar是否有“如果这一天有活动”,你可能需要翻阅文档。非常感谢!它工作得很好:)是的,我做了一些研究,但我正在处理这个服务器端,所以我不能使用
.fullCalendar(“客户事件”)
不幸的是。。。但是你的解决方案是有效的,非常感谢!我认为您需要添加
.not(“.fc day top”)
,并将其更改为
背景
,而不是
背景色
(至少在我的情况下),它会正常工作。老兄,我以前是这样做的——我想这可以解决问题<代码>$(“td[数据日期='”+eventStart.format('YYYY-MM-DD')+“']”)。非(“.fc日顶”).css('background',event.backgroundColor”)@user1274820谢谢你提出来。我当时使用的
fullcalendar
版本从来没有出现过问题(如果我记性好的话)。但他们可能改变了一些事情。我认为发表你的评论是一个好主意,作为对其他在这个问题上遇到困难的人的回答。如果你发布你的答案,请随意标记我。