我正试图通过插件FullCalendar显示一个食堂的菜单。 菜单应该是这样的:
等。
我需要以这种方式重复发生事件..但我不知道它是否可能以及如何实现它......我很困惑。
目前我的代码看起来像这样:
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#calendar').fullCalendar({
events: [
{ start: new Date(y, m, 1), title: 'Pasta all\'olio e parmigiano' },
{ start: new Date(y, m, 2), title: 'Pasta all\'olio e parmigiano' },
...
有没有办法根据需要设置正确的日期并在Fullcalendar中重复使用,使用javascript date()函数,或者与其他技术混合使用(PHP / MySQL ..)?
提前致谢。
答案 0 :(得分:1)
我认为有两种选择:
创建支持此类重复活动的Google日历,并将其添加到fullcalendar,如here所示:
<script type='text/javascript' src='fullcalendar/gcal.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
$('#calendar').fullCalendar({
events: 'http://www.google.com/your_feed_url/'
});
});
</script>
计算您自己的日期事件,因为fullcalendar不支持重复发生的事件。您可以使用datejs库作为一点帮助:
<script type='text/javascript' src='date.js'></script>
<script type='text/javascript'>
function getRecurrences(date, count) {
var nthOccurence = Math.ceil((date.getDate() - date.getDay()) / 7),
dates = [date];
for(var i = 0; i < count; i++) {
var nextDate = dates[dates.length - 1].clone().addMonths(1);
nextDate.moveToNthOccurrence(date.getDay(), nthOccurence);
dates.push(nextDate);
}
return dates;
}
var date = new Date(2013, 8, 18); // 3rd Wednesday
var nextThreeOccurences = getRecurrences(date, 3);
</script>