Fullcalendar изменить цвет фона для праздников - PullRequest
2 голосов
/ 11 февраля 2020

На самом деле я использую этот код, чтобы установить красный фон для праздников:

dayRender: function (dayRenderInfo) {

            var date = dayRenderInfo.date;

            var datestring = date.getFullYear() + "-" + ("0"+(date.getMonth()+1)).slice(-2) + "-" + ("0" + date.getDate()).slice(-2);

            var cell = dayRenderInfo.el;



            var array_holidays = []

            $.ajax({
                type: "POST",
                async: false,
                dataType:"json",
                url: "ajax/get-holidays.php",
                data: { "anno" : date.getFullYear() },

                success: function(data, status) {

                    array_holidays = data;

                }
            });

            $.each( array_holidays , function( key, value ) {

              if ( datestring == value) {

                $(cell).css("background-color", "red");

              }

            });


        },

Мне нужен сценарий, который вызывает некоторые праздники, например, Пасху, смена дат каждый год. Итак, get-праздничные дни. php, дайте мне массив выходных, основанный на годе, фактически показанном в календаре.

Он отлично работает, но не очень хорошо, поскольку производительность DayRender, в случае просмотра месяца, звонили 30-31 раз !!!

Кто-нибудь предлагает повысить производительность?

1 Ответ

1 голос
/ 12 февраля 2020

Лучшим общим решением этого требования является создание отдельного источника событий для этих праздников, для всех событий которого установлена ​​опция rendering: "background". Эта опция приведет к тому, что событие будет просто окрашиваться в фоновом режиме периода времени, который оно охватывает, вместо того, чтобы отображаться как выделенное жирным шрифтом событие с обычной меткой. Конечно, вы также можете управлять цветом через свойства события.

Подробнее о фоновых событиях см. https://fullcalendar.io/docs/background-events. Здесь также есть демоверсия .

...