jQuery FullCalendar在日历

时间:2016-07-20 07:08:14

标签: javascript jquery fullcalendar

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

我需要阻止下午1点到下午2点,所以没有人可以在那段时间内添加任何任务或事件,但问题是我还需要他们能够将他们的任务添加到下午1点,这与午休时间(starttime)重叠。

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。是否可以更改&#34; var l_start = 13;&#34; to&#34; var l_start = 13:01;&#34;?

我该怎么做?

样品:

1 个答案:

答案 0 :(得分:0)

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

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

可能创造你需要的东西。

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