是否可以显示两三个月?
@ John Smith - 我创建了3个日历,迄今为止它似乎在为我工作,但不是拖动事件,地雷只是简单地保存事件标题,开始和结束以及编辑它们的能力。
即使我想要一样,做了这样的事情。
<table width="100%" cellpadding="5" cellspacing="5"> <tr> <td> </td> <td> <input type="button" id="myprevbutton" value=" ◄ " /> <input type="button" id="mynextbutton" value=" ► " /> </td> <td> </td> </tr> <tr> <td width="33%"> <div id='calendar0'> </div> </td> <td width="33%"> <div id='calendar1'> </div> </td> <td width="33%"> <div id='calendar2'> </div> </td> </tr> </table>
和JS
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#calendar0').fullCalendar({
header: {
left: '',
center: 'title',
right: ''
},
month:m-1,
theme: true,
});
$('#calendar2').fullCalendar({
header: {
left: '',
center: 'title',
right: ''
},
month:m+1,
theme: true,
});
$('#calendar1').fullCalendar({
header: {
left: '',
center: 'title',
right: ''
},
theme: true,
editable: false,
});
$('#myprevbutton').click(function() {
$('#calendar0').fullCalendar('prev');
$('#calendar1').fullCalendar('prev');
$('#calendar2').fullCalendar('prev');
});
$('#mynextbutton').click(function() {
$('#calendar0').fullCalendar('next');
$('#calendar1').fullCalendar('next');
$('#calendar2').fullCalendar('next');
});
});
TL; DR
Cannon has posted a modified FullCalendar允许日历跨越超过一个月的跨越,但是这似乎运行所有月份成海誓山盟,并且绑定到FullCalendar的早期版本。
这里是我采取3个单独的日历,它隐藏在两个日历导航和同步主日历月:jsFiddle
详细
设置了3个日历 - 在我的情况下,主日历与下一个和前几个月较小的'看后面/向前看'日历:
<div id='calendarPrev' style='width:50%'></div>
<div id='calendarCurrent' style='width:100%'></div>
<div id='calendarNext' style='width:50%'></div>
DRY向上日历初始化一个函数任选隐藏导航:
function initCalendar($calendarDiv, displayDate, isMain) {
$calendarDiv.fullCalendar({
defaultDate: displayDate,
header: {
left: 'title',
center: '',
right: isMain
? 'today prev,next'
: ''
},
events: ... eventdata callbacks etc
});
}
在$(document).ready
,设置今天围绕3个日历的初始日,但除了正好1个月,隐藏在两个辅助日历导航。在“主”日历next
和prev
按钮再用铁丝附加的事件处理程序,其保持在3个日历保持同步:
$(document).ready(function() {
initCalendar($('#calendarCurrent'), moment(), true);
initCalendar($('#calendarPrev'), moment().subtract(1, 'months'), false);
initCalendar($('#calendarNext'), moment().add(1, 'months'), false);
$('body').on('click', 'button.fc-prev-button', function() {
$('#calendarPrev').fullCalendar('prev');
$('#calendarNext').fullCalendar('prev');
// allow main calendar event to propogate
});
$('body').on('click', 'button.fc-next-button', function() {
$('#calendarPrev').fullCalendar('next');
$('#calendarNext').fullCalendar('next');
// allow main calendar event to propogate
});
}
一种替代方法可以在basicWeek视图中显示所需的周数。它呈现为显示2个月的标签。
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
views: {
basicWeek: {
type: 'basic',
duration: {weeks: 8},
rows: 8
}
}
}
在此先感谢。 这个问题199建议我创建3个日历,但我不确定如果将事件从Month1(calendar1)拖动到Month3(calendar3),我不确定它会工作。 我会检查它。不管怎么说,还是要谢谢你。 – 2010-08-03 16:57:52
我非常有信心(没有使用它),你不能这样做,除非你感觉冒险,并且想要修改库来做到这一点。不要忘记接受答案:)。 – rickp 2010-08-03 17:09:55