javascript - 如何使用 arshaw fullcalendar v2.3.0 将 agendaDay View 中的非工作日变灰

标签 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 View 中,它清楚地显示了工作日,非工作日“变灰”。就我而言,星期一

enter image description here

但是当我转到 agendaDay View 时,未定义为工作日的星期一没有显示灰色部分,并且整日都是白色,使其看起来像一个工作日。

enter image description here

如果一天没有指定为工作日,agendaDay View 中的一整天是否应该显示为灰色?

引用:http://fullcalendar.io/docs/display/businessHours/

最佳答案

我认为这是一个错误,但我创建了一个解决方法。当 fullcalendar 在 agendaDay View 中并且当前日期不在 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);
        }
    }
});

有几点可以改进:

  • 选择器 $('#calendar') 可以是通用的。
  • 当您多次访问一天时,.fullCalendar('renderEvent', 将附加多个后台事件。

jsfiddle

关于javascript - 如何使用 arshaw fullcalendar v2.3.0 将 agendaDay View 中的非工作日变灰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30475236/

相关文章:

javascript - 在渲染之前对 Backbone 集合进行排序

javascript - 梦m JS单击集合中的随机链接

javascript - jqGrid 中搜索过滤器(范围)的实现

javascript - 访问 json 文件中的数组值

asp.net-mvc - 将 json 存储在隐藏字段中以反序列化为模型属性列表

java - 在 POST 请求后,我如何在响应正文中获取特定变量

javascript - 如何将不同事件的变量一起调用?

javascript - 有没有办法使用 android cordova 应用程序将文件上传到共享的谷歌驱动器文件夹?

javascript - 将 zip 文件解压缩到本地文件夹

javascript - 如果子 DIV 为空,则显示/隐藏表格行