Я создал jQuery datepicker, у которого есть несколько дней цветных (выходные, праздничные дни). Дело в том, что деление цвета на эти дни зависит от вызова ajax, который возвращает, какие дни месяца должны быть окрашены.Как я могу предотвратить мерцание дампикера jQuery при смене месяца?
Когда я нажимаю на кнопку, чтобы изменить месяц, вызов ajax завершен, он возвращает дни, которые нужно покрасить, мерцает dateplicker, а затем отображает месяц правильно. Я хотел бы показать новый месяц после того, как вызов ajax будет выполнен, а не ранее. Есть ли способ избежать мерцания? Кажется, он работает правильно в Internet Explorer, но он не работает в Firefox.
EDIT
При нажатии на кнопку смены месяца, то DatePicker называет beforeShowDay за каждый день в течение месяца, чтобы сделать его. Если вы поместите контрольную точку в строку console.log (пример jsfiddle приведен ниже), вы увидите, что datepicker закрыт и что он не отображается до тех пор, пока каждый день не будет отрисован. В моем случае я хочу сохранить старый месяц, пока новый месяц не будет полностью вычерчен.
В примере, который вы можете увидеть ниже, чертеж календаря выполняется очень быстро, а дни месяца отображаются так быстро, что кажется, что это мгновенно, но если вы выполняете некоторые вызовы ajax, которые извлекают данные базы данных чтобы определить цвет, который будет иметь каждый день, месяц мерцает. В отличие от Internet Explorer, эта проблема возникает со мной в Firefox.
Как это исправить?
Fiddle пример:
http://jsfiddle.net/b6V3W/370/
beforeShowDay: tratarDiasEspeciales,
function tratarDiasEspeciales(date){
ajax call to decide the colour of the cell
if(condition){
//colour the day with blue
return[true,'blue']
}else{
//colour the day with red
return[true,'red']
}
}
Вы можете создать jsfiddle с кодом? –
@AminurRashid добавлен код. – Jaime