javascript - 在全日历事件上重复时间

标签 javascript jquery fullcalendar

我正在尝试在完整日历的某个时间制作一些重复事件。 例如我希望事件发生于 2016年1月3日 截止日期为 2016 年 1 月 7 日。

这是我获取所有事件的代码。

<script type="text/javascript">
$(document).ready(function()
{
                    var events=new Array();
                var numberofevents = '<?php echo count ($info); ?>';

                    <?php 
                    foreach($info as $module => $kati) { ?>
                    var date = new Date('<?php echo $kati['ModuleSchedule_StartTtime']; ?>');
                    var day = date.getDate();
                    var month = date.getMonth();
                    var year = date.getFullYear();
                    var time = date.getHours();
                    var start_date = new Date(year, month, day, time, 0);
                    var end_date = new Date(year, month, day, time+2, 0);
                    var ranges = [{ start:"2016/03/01", end:"2016/06/01"}] //range of repeat
                    var event_name = '<?php echo $kati['ModuleSchedule_Module_Name']; ?>';
                    var event_description = '<?php echo $kati['ModuleSchedule_Semester_Name'] ?>' + '<br/>' + '<?php echo $kati['ModuleSchedule_Classroom'] ?>' + '<br/>' + '<?php echo $kati['ModuleSchedule_TeacherUserFullName'] ?>';
                    event = new Object();       
                    event.title = event_name;
                    event.start = start_date;
                    event.end = end_date;
                    event.description = event_description;
                    event.color = "blue";
                    event.dow = '<?php echo $kati['ModuleSchedule_DayOfWeek']; ?>';
                    event.ranges = ranges;
                    event.allDay = false;
                    events.push(event);
                    <?php   }
                    ?>


             $('#calendar').fullCalendar({
                 eventRender: function(event, element, view) {
            // opens events in a popup window
            element.find('.fc-title').append("<br/>" + event.description);
            element.qtip({ content: "Στοιχεία μαθήματος: " + event.title + "<br/>" + event.description});
        },
                    header: {
                        left: 'prev,next today',
                        center: 'title',
                        right: 'month,agendaWeek,agendaDay'
                    },
                    editable: true,
                    weekMode: 'liquid',
                    weekends: true,
                    theme: true,
                    selectable: true,
                    editable: false,
                    events: events
                  });
            }); 

在我采用“范围”的行上,是否有任何正确的方法可以在事件中添加? 因为我在这里尝试做的事情肯定是错误的。 感谢您的宝贵时间!

最佳答案

将其添加到您的事件对象

event.dowend = new Date('2016/7/1');

并在 eventRender 上检查日期是否已达到下限,如果为真则返回 false,因此日历不会创建事件

eventRender: function(event, element, view) {
        // opens events in a popup window
        element.find('.fc-title').append("<br/>" + event.description);
        element.qtip({ content: "Στοιχεία μαθήματος: " + event.title + "<br/>" + event.description});

        var theDate = event.start
        var endDate = event.dowend;

        if (theDate >= endDate) {
                return false;
           }                                                            
    }

关于javascript - 在全日历事件上重复时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672504/

相关文章:

javascript - require 路径中的变量不适用于 r.js

javascript - 如何使用 react enzyme 检查实际的 DOM 节点

javascript - 完整日历 : Coloring events using IF statement

javascript - FullCalendar 调度程序更新资源 JSON 对象

javascript - 运行webpack部署配置时如何解决 'window is not defined'?

javascript - 在 Durandal 应用程序中构建 main-build.js

facebook - Facebook Canvas 应用程序中的滚动事件

javascript - 如何使用 jQuery 将 HTMLElement 转换为字符串,将所有 css 放入样式标签中

javascript - 禁用编辑表单方法

javascript - Fullcalendar.io 当前可见时间段的动态数据加载