Javascript 如何使用arshaw fullcalendar v2.3.0在Agenday视图中灰显非工作日

Javascript 如何使用arshaw fullcalendar v2.3.0在Agenday视图中灰显非工作日,javascript,jquery,json,fullcalendar,Javascript,Jquery,Json,Fullcalendar,我使用的是arshaw fullcalendar的最新版本(版本2.3.0),并且有一个场景,其中日历需要显示活动的工作日和时间 我是通过以下方式做到这一点的: businessHours: { start: '08:00', end: '17:00', dow: [2,3,4,5,6,0] // Monday is not a working day }, 在agendaWeek视图中,它清楚地显示了工作日,而非工作日显示为“灰色”。就我而言,星期一 但当我进

我使用的是arshaw fullcalendar的最新版本(版本2.3.0),并且有一个场景,其中日历需要显示活动的工作日和时间

我是通过以下方式做到这一点的:

 businessHours:
 {
    start: '08:00',
    end: '17:00',
    dow: [2,3,4,5,6,0] // Monday is not a working day
 },
在agendaWeek视图中,它清楚地显示了工作日,而非工作日显示为“灰色”。就我而言,星期一

但当我进入Agenday视图时,周一(未定义为工作日)没有显示灰色部分,整个一天都是白色的,看起来就像一个工作日

如果没有指定某一天为工作日,agendaDay视图中的一整天不应该变灰吗


ref:

我认为这是一个bug,但我创建了一个解决方法。当fullcalendar位于agendaDay视图中且当前日期不在DateOfWeek数组中时,它会创建一个背景事件

$('#calendar').fullCalendar({
    businessHours: {
        start: '08:00',
        end: '17:00',
        dow: [0, 2, 3, 4, 5, 6]
    },

    viewRender: function (view, e) {
        var bh = view.options.businessHours,
            startDate = view.start;

        if (view.type === "agendaDay" && bh.dow.indexOf(startDate.day()) === -1) {
            $('#calendar').fullCalendar('renderEvent', {
                start: moment(startDate),
                end: moment(view.end),
                rendering: 'background',
                className: 'fc-nonbusiness'
            }, false);

            $('#calendar').fullCalendar('renderEvent', {
                start: moment(startDate),
                allDay: true,
                rendering: 'background',
                className: 'fc-nonbusiness'
            }, false);
        }
    }
});
有几点可以改进:

  • 选择器
    $(“#日历”)
    可以是通用的
  • 当您多次访问该天时,
    .fullCalendar('renderEvent'),
    将附加多个背景事件

这看起来像是一个bug。非常感谢!这非常有效!$(“#calendar”).fullCalendar('renderEvent',{start:moment(startDate).hour(0).min(0),end:moment(view.end),呈现:'background',类名:'fc nonbusiness',true);@MarkRaa谢谢。唯一剩下的事情是检查当前是否已经有背景事件。是的。但是,我当前的实现没有使用其他背景事件,所以现在只使用它来灰显一天是可以的。再次,非常感谢!)