@Tenebrius

Почему события происходят не по порядку?

Есть необходимость изменить ширину примерно сотни объектов на странице. Это занимает пару секунд.
Хочется на эту пару секунд затемнить экран, чтобы показать, что идет процесс.

Делаю примерно так:

$("#dark").show();
$(".item").each(function(){ $(this).width(number)});
$("#dark").hide();


Проблема в том, что затемнения не происходит. Как это исправить?
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
phfaster
@phfaster
Прогрессивный веб-разработчик
События анимации происходят сразу же, не ожидая других событий. Делайте примерно так (с вызовом колбека в каждой из асинхронных функций):

$("#dark").show(0,function() {
       $(".item").each(function(){ $(this).width(number)});
       $("#dark").hide();
});


Должно работать.
Ответ написан
Комментировать
xytop
@xytop
PHP/RoR web dev & tech lead
$('#dark').show();
window.setTimeout(function(){
// heavy operation
// ...
$('#dark').hide();
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы