На самом деле я использую этот код, чтобы установить красный фон для праздников:
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 -idays.php, дайте мне набор праздников на основе года, фактически указанного в календаре.
Он отлично работает, но не очень хорош по производительности, потому что dayRender при просмотре месяца вызывается 30-31 раз !!!
Есть ли предложения по повышению производительности?
async:false
и перемещение$.each
внутри функцииsuccess
может немного помочь, тогда, по крайней мере, вызовы ajax могут выполняться параллельно. - person ADyson   schedule 11.02.2020