Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   jQuery .load внутри .each (https://javascript.ru/forum/misc/57237-jquery-load-vnutri-each.html)

pifon 25.07.2015 23:46

jQuery .load внутри .each
 
Всем привет!

Прошу помощи в следующей задаче:

Есть такой код:

function someFunc() {

  var i = 1,
      h = 10;

  $('#container .item').each(function(){

    var $t = $(this).children('img');
    
    $t.load(function(){
      /* не очень быстро загружает немаленькую картинку */
      h = h + $t.height();
    });
    
    i++;
    
  });

  $('#id').css({height : h});

}


Получается, что скрипт пробегается по всем элементам .item, просчитав от 1 до N, где N - число элементов .item моментально. А потом уже поочерёдно выполняет функцию .load. Выходит, что элементу #id присваивается высота h = 10. А нужно, чтобы высота присваивалась та, которая записывается в h после прохода по всем .item и загрузки всех img внутри .item.

Как решить данную загрузку? Логично, что нужно запретить циклу .each двигаться дальше, пока не закончится .load, но как?

Спасибо всем заранее! :)

рони 26.07.2015 00:03

pifon,
так и поставьте строку 19 в начало 13 строки а если трубуется именно после 10 загрузки то и строку 15 туда же как условие

pifon 26.07.2015 00:12

Цитата:

Сообщение от рони (Сообщение 381531)
pifon,
так и поставьте строку 19 в начало 13 строки а если трубуется именно после 10 загрузки то и строку 15 туда же как условие

Слушайте, а ведь это мысль. и картинки поочерёдно подгружаются. Так даже лучше.

Спасибо за помощь!


Часовой пояс GMT +3, время: 10:10.