2012-07-12 10 views
7

chcę uzyskać wysokość div z jQuery i w tym div, istnieje kilka zdjęć, które zmieniają rozmiar div po załadowaniu:Wykonaj funkcję po wszystkie obrazy wewnątrz div załadowane

ale z kodem poniżej , to daje mi wysokość div przed zdjęcia zostały załadowane

$(document).ready(function() { 
     $(".link_module").each(
      function() { 
       maxheight = Math.max(maxheight,$(this).height()); 
      } 
     ).height(maxheight); 
}); 

zmieniłem mój kod do tego, ale niczego nie zmieni:

$(document).ready(function() { 
    $(".link_module img").load(
     function(){ 
      $(".link_module").each(
       function() { 
        maxheight = Math.max(maxheight,$(this).height()); 
       } 
      ).height(maxheight); 
     } 
    ) 
}); 

Może ktoś mi pomóc zmienić kod, aby osiągnąć swój cel?

+1

Czy próbowałeś obliczenia podczas imprezy window.load? – MrOBrian

Odpowiedz

7

Można użyć $(window).load() który odpala, gdy dokument i to aktywa są w pełni załadowany, w tym wszystkich obiektów i obrazów:

Zdarzenie

ładunku przy koniec procesu ładowania dokumentu. W tym momencie wszystkie obiekty w dokumencie znajdują się w DOM, a wszystkie obrazy i podramki zakończyły się ładowaniem.

$(window).on('load', function() { 
    $(".link_module").each(
     function() { 
      maxheight = Math.max(maxheight,$(this).height()); 
     } 
    ).height(maxheight); 
}); 
0

Spróbuj. Lemme, wiedz, czy to działa.

var childW=0 
$(".link_module").children().each(function(){  
    $("img").load(function() { 
    childW+=$(this).outerWidth(); 
    }); 
}); 
2

Spróbuj

$(document).ready(function() { 
    var $this = $(this); 
    $(".link_module img").load(
     function(){ 
      $(".link_module").each(function() { 
      maxheight = Math.max(maxheight,$this.height()); 
      }).height(maxheight); 
    }); 
}); 
Powiązane problemy