JQuery - Как найти, загружаются ли все изображения из ответа Ajax

Я обновляю содержание отделения с некоторым HTML через вызов ajax и меня, что выполнить функцию после того, как все изображения от ajax ответа загружаются.

См. код ниже, #gridWrapper прибывает из ответа Ajax, и он имеет много изображений миниатюр.

success: function(Data){
 MyGrid.prepGridLayout(Data.html);
 $('#gridWrapper .thumbnail img').load(function(index) {
  MyGrid.updateCellWidth(this);
 });
 MyGrid.adjustGridWidth();
 MyGrid.animateGridLayout();
}

Я должен выполниться MyGrid.animateGridLayout(); только после того, как все изображения загружаются. В настоящее время MyGrid.animateGridLayout(); выполняется прежде MyGrid.updateCellWidth(this); выполняется

Как удостовериться MyGrid.animateGridLayout(); выполнения только после всех изображений загружаются?

1
задан Mithun Sreedharan 3 August 2010 в 12:13
поделиться

1 ответ

Вы могли бы заставить обработчики "load" отслеживать, сколько они сделали.

success: function(Data){
  MyGrid.prepGridLayout(Data.html);
  var thumbs = $('#gridWrapper .thumbnail img'), tc = 0;
  thumbs.load(function(index) {
    MyGrid.updateCellWidth(this);
    if (++tc === thumbs.length) {
      MyGrid.adjustGridWidth();
      MyGrid.animateGridLayout();
    }
   });
}
2
ответ дан 2 September 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: