jQuery FullCalendar не отображается

У меня есть рабочий полный календарь на моем сайте, однако фактическая таблица календаря не отображается, пока вы не измените месяц/год или не выберете «сегодня».

Если я посмотрю на отрендеренный источник, я увижу, что div вокруг таблицы пуст, пока я не нажму кнопку.

<div style="position: absolute; -moz-user-select: none;" class="fc-view fc-view-month fc-grid" unselectable="on"></div>

Кто-нибудь знает, почему это происходит?


person ksumarine    schedule 26.04.2012    source источник


Ответы (1)


У вас есть этот календарь во вкладке или диалоге, который сначала скрыт от просмотра?

Если это так, вам нужно явно отображать fullCalendar, когда этот элемент управления активен.

Допустим, вы используете виджет jQuery UI Tabs и у вас есть FullCalendar на 2-й вкладке (которая скрыта от просмотра, пока не будет выбрана 2-я вкладка). В этом случае вы можете сделать что-то вроде этого:

$('#tabs').tabs({
    show: function(event, ui) {
        $('#calendar').fullCalendar('render');
    }
});

Это гарантирует, что календарь отображается при отображении вкладки. Надеюсь это поможет!

person ganeshk    schedule 27.04.2012
comment
Бинго, это сработало. У меня его нет на вкладках пользовательского интерфейса, но он есть в пользовательских вкладках, которые я сделал. Я пытался отобразить его, но я думаю, что не помещал этот код в нужное место. Благодарю вас! - person ksumarine; 27.04.2012
comment
Замечательно! Не могли бы вы тогда принять это как свой ответ? - person ganeshk; 27.04.2012
comment
@Corey, не забудьте принять ответ, когда он решит вашу проблему. Иначе люди вам больше не ответят... - person Juan Gonzales; 27.04.2012
comment
Просто краткое примечание (идеальный ответ, кстати). Кто-нибудь знает, почему он не отображает представление, которое сначала скрыто? Для меня я должен визуализировать после того, как мое модальное окно появляется, и оно начинает действовать странным образом... Это не имеет большого значения, потому что я просто собираюсь скрыть его и затемнить (потому что я плавный оператор )... Но я все же хотел бы знать причину решения не отображать, если скрыто! :) - person lol; 15.11.2015
comment
@lol FC (а также многие другие JS-библиотеки) вычисляют размеры и положение отображаемых элементов в зависимости от того, где они расположены. Со скрытыми элементами эти вычисления будут недействительными, как только родительский элемент (например, вкладка или модальное окно) станет видимым. Следовательно, мы заставляем FC выполнять вычисления на показе родительского элемента. - person ganeshk; 04.12.2015
comment
Идеальный! Это имеет смысл. Таким образом, оптимальное решение — затушевать его, верно? - person lol; 06.12.2015