Javascript 使用FullCalendar上的事件为日期着色
我的事件以随机颜色显示,但我希望得到如下结果: 我想把所有的日子都涂上一层颜色。我已经对自定义视图和eventRender方法进行了一些研究,但我不知道如何为所有有事件的日子着色。 要更改的简化代码:Javascript 使用FullCalendar上的事件为日期着色,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我的事件以随机颜色显示,但我希望得到如下结果: 我想把所有的日子都涂上一层颜色。我已经对自定义视图和eventRender方法进行了一些研究,但我不知道如何为所有有事件的日子着色。 要更改的简化代码: $('#calendar').fullCalendar({ eventRender: function(event, element) { // here, event.parent().css("background-color:pink;"); ?? } })
$('#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
版本从来没有出现过问题(如果我记性好的话)。但他们可能改变了一些事情。我认为发表你的评论是一个好主意,作为对其他在这个问题上遇到困难的人的回答。如果你发布你的答案,请随意标记我。