2012-07-12 20 views
7

Quiero conseguir la altura de un div con jQuery y en este div, hay algunas imágenes que cambian el tamaño de este div cuando está cargado:Ejecutar una función después de que todas las imágenes dentro de un div cargados

pero con código de abajo , me da la altura del div ante las imágenes fueron cargadas

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

he cambiado de código a este cambio, pero nada:

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

puede alguien ayudarme a cambiar el código para llegar a mi meta?

+1

Ha intentado el cálculo durante el evento window.load? – MrOBrian

Respuesta

7

Usted puede utilizar $(window).load() que dispara cuando el documento y está activos están a plena carga, incluyendo todos los objetos e imágenes:

desencadena el evento

la carga en el fin del proceso de carga del documento. En este punto, todos los objetos en el documento están en el DOM, y todas las imágenes y subtramas han terminado de cargarse.

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

Dale una oportunidad. Déjame saber si funciona.

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

Prueba este

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