如何在fullcalendar.js中阻止特定的时隙?

我需要阻止1pm-2pm,以便在这段时间内没有人可以添加任何任务或事件,但事实是,我还需要他们能够将他们的任务添加到1pm之前,这与午餐时间(开始时间)重叠。

function isOverlapLunchBreak(task_sdate, task_edate) {
    console.log(task_sdate);
    console.log(task_edate);
    var l_start = 13;
    var l_end = 14;
    var r = false
    if (task_sdate.getHours() >= l_start && task_sdate.getHours() > l_end && task_sdate.getHours() < l_end)
    {
        r = true;
        //alert('first');
    }

    if (task_edate.getHours() >= l_start && task_edate.getHours() >= l_end && task_sdate.getHours() < l_end)
    {
        r = true;
        //alert('second');
    }

    if (task_sdate.getHours() <= l_start && task_edate.getHours() <= l_end && task_edate.getHours() >= l_start)
    {
        r = true;
        //alert('third');
    }

    if (r) {
        GritterMessageDanger('DTR - Time In', 'You cannot add task during break hours.');
        return true;
    }
}


上面的代码阻止了下午1点到下午2点,但是用户不能将任务拖到下午1点。它最多只接受12:59 pm。是否可以更改“ var l_start = 13;”改为“ var l_start = 13:01;”?

我怎样才能做到这一点?

样品:

最佳答案

如果您使用代码,则可以使用内置的moment.js操纵日期。阅读他们的文档,这非常容易。例如。你会用

var start_date = moment("13:00:01")
if (start_date.hours() ...


创建可能需要的东西。

作为代码的替代方法,可能在fullCalendar中使用eventConstraintbusinessHourseventDragStop

关于javascript - jQuery FullCalendar更改日历上特定时间的可编辑属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38474540/

10-09 18:12
查看更多