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

时间:2012-03-14 19:14:41

标签: javascript jquery fullcalendar

我已经实施了概述here的2周视图,我想知道是否有人可以告诉我如何/在哪里更改prev / next按钮以仅将日历移动2周而不是下个月?不知道在哪里更新fullcalendar.js。

1 个答案:

答案 0 :(得分:6)

想出来。问题是我使用的解决方案基于月视图,它可能应该基于周视图。

首先,确保视图的所有信息都列在defualts

// time formats
titleFormat: {
    month: 'MMMM yyyy',
    twoweek: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}",
    week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}",
    day: 'dddd, MMM d, yyyy'
},
columnFormat: {
    month: 'ddd',
    twoweek: 'ddd',
    week: 'ddd M/d',
    day: 'dddd M/d'
},

buttonText: {
    prev: ' ◄ ',
    next: ' ► ',
    prevYear: ' << ',
    nextYear: ' >> ',
    today: 'today',
    month: 'month',
    twoweek: '2 week',
    week: 'week',
    day: 'day',
    resourceDay: 'designers'
},

这是我2周视图的代码

fcViews.twoweek = TwoWeeksView;

function TwoWeeksView(element, calendar) {
var t = this;

// exports
t.render = render;


// imports
BasicView.call(t, element, calendar, 'twoweek');
var opt = t.opt;
var renderBasic = t.renderBasic;
var formatDates = calendar.formatDates;



function render(date, delta) {
    if (delta) {
        addDays(date, delta*7);
    }
    var start = addDays(cloneDate(date), -((date.getDay() - opt('firstDay') + 7) % 7));
    var end = addDays(cloneDate(start), 7*2);
    var visStart = cloneDate(start);
    var visEnd = cloneDate(end);
    var weekends = opt('weekends');
    if (!weekends) {
        skipWeekend(visStart);
        skipWeekend(visEnd, -1, true);
    }

    t.title = formatDates(
        visStart, 
        addDays(cloneDate(visEnd), -1), 
        opt('titleFormat')
    );
    t.start = start;
    t.end = end;
    t.visStart = visStart;
    t.visEnd = visEnd;
    renderBasic(2, 2, weekends ? 7 : 5, true);
}

}

这里的关键区别是最后一行:renderBasic(2,2,周末?7:5,true);

如果您不更新默认视图中的视图信息,则formatdates中的参数未定义且存在问题。周视图和月视图之间存在一些差异,这使得基于周视图的两周视图变得更好。它变得有点混合在两者之间。希望这有助于任何正在寻找完整2周视图修复的人。

这样打电话:

 $('#calendar').fullCalendar({
        header: {
            left:'prev, next',
            center: 'title',
            right: 'twoweek'
        },
        defaultView: 'twoweek',
        weekMode:'fixed'
  });