Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2010, 05:12
beni0888
 
Fecha de Ingreso: octubre-2008
Ubicación: Plasencia
Mensajes: 109
Antigüedad: 16 años, 1 mes
Puntos: 6
body onload en jquery

Hola a todos!!
mi problema es el siguiente, he desarrollado un informe en el que listo los datos de una talba, para ello he creado un div con style="overflow: overflow" para poder hacer scroll sobre los datos y dentro de este div tengo una tabla que contiene los datos. Pues bien, yo al cargar la página establezco un valor para el height de este div contenedor, para que se adapte al alto de la pantalla, el problema surge cuando la tabla muestra pocas filas como resultado de una busqueda por ejemplo, ya que en ese caso div queda vacío (a las celdas de la tabla les tengo puesto un borde para que de aspecto de grid). Para solventar este problema he creado una función que comprueba si el alto de la tabla es menor que el de el contenedor y en tal caso rellena la tabla con celdas vacias hasta alcanzar el alto del contendor, esta función funciona perfectamente cuando se da el caso de que la tabla es más baja que el contenedor, el problema es que cuando no es así también se ejecuta y ofrece un resultado no deseado, creo que el problema es debido a que la llamada a la función la tengo puesta dentro de $(document).ready(function(){ ... }); y cuando se ejecuta la función aún no han terminado de cargarse los datos de la tabla, he probado a ponerla dentro de $("body").load(function(){...}); pero no funciona, alguien tiene alguna alternativa a $(document).ready() que se ejecute cuando hayan terminado de cargarse todos los elementos de la página?
De antemano gracias y un saludo, a continuacion les muestro mi código:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     parcheListadoIE();
  3.     ajustarAlturaAPantalla("div.listado",$("#cabecera").outerHeight()+$("#menu").outerHeight()+$("h1").outerHeight(true)+$("#botonera").outerHeight()+$("div.datos>table").outerHeight()+20);
  4.     rellenarListado();
  5. });
  6.  
  7. function rellenarListado(){
  8.     while($("div.listado table").outerHeight()<$("div.listado").innerHeight()){
  9.         $("div.listado tr:eq(0)").clone().appendTo("div.listado table").find("td").html("&nbsp;");
  10.     }
  11.     $("div.listado table tr:last").remove();
  12.     $("div.listado").css("height",$("div.listado table").outerHeight());
  13. }