JQuery FullCalendar: отключить прокрутку в режиме "Повестка дня"?

Как отключить прокрутку в представлении "Повестка дня" (недельный, дневной режим) с помощью плагина FullCalendar jQuery? В месячном режиме все в порядке, но когда я переключаюсь в режим "Неделя/День", рядом с моей основной полосой прокрутки отображается полоса прокрутки.

Ответы

Ответ 1

Это то, что я сделал в моем случае. Цель состоит в том, чтобы динамически изменять высоту, поэтому я использовал событие viewDisplay таким образом:

$('#calendar').fullCalendar({
    viewDisplay: function (view) {
        var h;
        if (view.name == "month") {
            h = NaN;
        }
        else {
            h = 2500;  // high enough to avoid scrollbars
        }

        $('#calendar').fullCalendar('option', 'contentHeight', h);
    }
});

Ответ 2

Начиная с FullCalendar 2.1.0-beta1, вы можете установить опцию { height: 'auto' } для отключения полос прокрутки в представлениях.

Хотя запись изменений для этой новой функции может быть прочитана как "Чтобы отключить прокрутки в представлении месяца", она действительно работает для всех просмотров.

В представлении месяца, когда высота календаря переполняется из-за слишком большого количества событий, появятся вертикальные полосы прокрутки. Чтобы отключить это поведение, установите для параметра высоты значение "авто". - из v2.1.0-beta1 changelog

Ответ 3

Конечно,

$('#calendar').fullCalendar({
    height: 999999999
});

Если ваш календарь имеет полосу прокрутки, когда вы этого не хотите, у вас есть 3 варианта:

  • сделать его достаточно большим, чтобы в нем не было полосы прокрутки
  • уменьшить содержимое, чтобы оно соответствовало вашим границам.
  • удалите полосу прокрутки и потеряйте доступ к информации, не показанной

Вам нужно быть более конкретным, чем "Мне не нравятся полосы прокрутки"

Ответ 4

просто используйте:

$('#calendar').fullCalendar({
    height: "auto"
});

Ответ 5

Вот обновленная и укороченная версия ответа @Deulis:

$("#calendar").fullCalendar({
  viewRender: function(view){
    $("#calendar").fullCalendar("option", "contentHeight", (view.name === "month")? NaN : 9999);
  }
});

Как уже упоминалось @Pierre de LESPINAY и @Jens-André Koch, viewDisplay лишается fullcalendar v2.0. Мы должны использовать viewRender.