javascript - jQuery FullCalendar 更改日历上特定时间的可编辑属性

标签 javascript jquery fullcalendar

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

我需要阻止下午 1 点至下午 2 点,这样在这段时间内没有人可以添加任何任务或事件,但问题是我还需要他们能够在下午 1 点之前添加任务,这与午餐时间(开始时间)重叠。

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;
    }
}

上面的 block 是下午 1 点到下午 2 点,但用户不能将任务拖到下午 1 点。只接受中午 12:59 之前的服务。是否可以更改“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/

相关文章:

javascript - Node js mongoose 从集合中的数组中查找数据

javascript - 随机 Javascript 文本崩溃,为什么?

javascript - 特定按钮类 onClick 之前的某些字段的值未定义?

javascript - 将完整日历中的日议程分成 15 分钟的时段

javascript - 包含可执行函数代码的字符串

javascript - 布局属性不起作用

php - javascript根据另一个多选框中的选择禁用多选框

javascript - JQuery 提前触发

jquery - 将加载指示器添加到全日历

ruby-on-rails - Fullcalendar Rails - 事件未出现在日历上