0

我正在尝试调整 fullcalendar 以适应较小的屏幕(iPhone),并且我正在尝试通过显示 3 天而不是 7 天来创建有用的周视图。将显示的列更改为 3 天是一个简单的修改,但这会导致问题渲染事件时。没有出现在正确的一天!

这是修改后的源代码:

function BasicWeekView(element, calendar) {
...
    function render(date, delta) {
        if (delta) {
        addDays(date, delta * 3);
        }
        var start = addDays(cloneDate(date), 3);
        var end = addDays(cloneDate(start), 3);
        var visStart = cloneDate(start);
        var visEnd = cloneDate(end);
        t.title = formatDates(
            visStart,
            addDays(cloneDate(visEnd), -1),
            opt('titleFormat')
        );
        t.start = start;
        t.end = end;
        t.visStart = visStart;
        t.visEnd = visEnd;
        renderBasic(1, 1, 3, false);
    }
}

这会导致事件渲染不正确,我不知道为什么?我已经浏览了源头,并试图将其追溯到原因,但没有成功。单击日期仍然会显示正确的日期(通过 dayClick),所以我没有想法。

为了更详细地说明错误,几乎每个事件都呈现不正确。第三天通常会在第一天渲染事件或根本不渲染(即 1px 宽)。第二天在第三天渲染事件,在第二天渲染第一天。周末的处理也很奇怪,有时当移动到下一个日期或上一个日期时,它会变为日视图。

我完全感到困惑,并希望得到一些帮助。我已经挖掘了api并在没有运气的情况下解决了堆栈交换的问题......任何帮助将不胜感激:)

4

1 回答 1

1

我希望在 Android 上使用 Full Calendar 做类似的事情。Full Calendar 版本 2.2.5 中有一个更新,允许进行这种自定义。

现在可以通过以下方式完成:

views: {
  agendaThreeDay: {
    type: 'agenda',
    duration: { days: 3 },
    buttonText: '3 day'
  },
  defaultView: 'agendaThreeDay'
}

自定义完整的日历仍然是一场噩梦,但它已经走过了漫长的道路。您可以从Custom Views的文档页面获得更多信息。

于 2015-02-15T23:47:05.713 回答