在jQuery FullCalendar中显示2周

一直在寻找一种方法,只显示FullCalendar的月视图中的当前周和下一周。 到目前为止它似乎被建议作为即将推出的版本的function,但与此同时,有没有人能够破解它?

UPDATE

感谢世界末日的建议,我能够创建一个显示2周的自定义视图,从本周开始。 您将可见的开始日期更改为今天的日期,并将行计数更改为2。

function TwoWeeksView(element, calendar) { var t = this; // exports t.render = render; // imports BasicView.call(t, element, calendar, 'month'); var opt = t.opt; var renderBasic = t.renderBasic; var formatDate = calendar.formatDate; function render(date, delta) { if (delta) { addMonths(date, delta); date.setDate(1); } var start = cloneDate(date, true); start.setDate(1); var end = addMonths(cloneDate(start), 1); //var visStart = cloneDate(start); var visStart = date; var visEnd = cloneDate(end); var firstDay = opt('firstDay'); var nwe = opt('weekends') ? 0 : 1; if (nwe) { skipWeekend(visStart); skipWeekend(visEnd, -1, true); } addDays(visStart, -((visStart.getDay() - Math.max(firstDay, nwe) + 7) % 7)); addDays(visEnd, (7 - visEnd.getDay() + Math.max(firstDay, nwe)) % 7); var rowCnt = Math.round((visEnd - visStart) / (DAY_MS * 7)); if (opt('weekMode') == 'fixed') { addDays(visEnd, (6 - rowCnt) * 7); //rowCnt = 6; rowCnt = 2; } t.title = formatDate(start, opt('titleFormat')); t.start = start; t.end = end; t.visStart = visStart; t.visEnd = visEnd; renderBasic(6, rowCnt, nwe ? 5 : 7, true); } } 

最好的解决方案是实现自定义视图。

在新JS中添加您自己定义的视图:

 $.fullCalendar.views.twoweeks = TwoWeeksView; function TwoWeeksView(element, calendar) { // copy code from fullcalendar.js line 1960 } 

fullCalendar 2的正确答案是修改basicWeek视图,如文档中所述:

  $('#calendar').fullCalendar({ views: { basicWeek: { type: 'basic', duration: {weeks: 2}, rows: 2 } } } 

那里。 简单:)

有关此fullcalendar自定义视图的更多信息,请参阅此处

Jquery FullCalendar 2周查看下一个上一个按钮

答案是显示两个日历,一个是本周,另一个是一周。

我建议你破解我在这个小提琴上所做的事情: http : //jsfiddle.net/Doomsday/M3YP3/1/

最新版本现在让它变得更加容易(v2.2.6)

你也可以看看这个git,其中有一个自定义的twoweek视图,它使用next / prev按钮一次移动1周(或它设置的任何选项)。

https://github.com/marc-gist/fullcalendar

编辑:要点似乎不再适用于其他版本的fullcalendar; 但是通过选项值查看文档,以便进行简单的周视图设置。