Foros del Web » Programando para Internet » Jquery »

precarga imagenes jquery

Estas en el tema de precarga imagenes jquery en el foro de Jquery en Foros del Web. Hola! Tengo un archivo javascript externo que funciona perfectamente para precargar las imágenes, incluso los background de los div. Para ello el body tiene la ...
  #1 (permalink)  
Antiguo 06/08/2011, 10:54
prozaius
Invitado
 
Mensajes: n/a
Puntos:
Pregunta precarga imagenes jquery

Hola!

Tengo un archivo javascript externo que funciona perfectamente para precargar las imágenes, incluso los background de los div. Para ello el body tiene la propiedad visibility:hidden en su css y en el html la etiqueta body es:
<body onload="precargar()">.
El código del archivo javascript es el siguiente:
Código:
function precargar()
{
	imgs = document.images;
	precargadas = true;
	for (var i = 0, total = imgs.length; i < total; i ++)
	precargadas = (precargadas && imgs[i].complete);
	if (precargadas) document.body.style.visibility = "visible";
	else setTimeout("precargar()", 10);
}
La cuestión es que quiero hacer lo mismo en jquery para limpiar el html de javascript pero no sé exactamente como. He probado lo siguiente pero no funciona:

Etiqueta body en html: <body>
Y el archivo jquery externo:

Código:
function precargar(){
	var imgs = document.images;
	var precargadas = true;
	var total = imgs.length;
	for (var i = 0; i < total; i ++)
	precargadas = (precargadas && imgs[i].complete);
	if (precargadas) $('body').css("visibility","visible");
	else setTimeout("precargar()", 10);
}
$(document).ready(precargar);
¿Alguien me puede dar el código jquery correcto?
Muchas gracias.
  #2 (permalink)  
Antiguo 06/08/2011, 11:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 123
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: precarga imagenes jquery

mmm .. no era..

$(document).ready(function() {
precargar();
});

.. ademas te falto las () que declaran que es una funcion...

$(document).ready(precargar());

saludos :D
  #3 (permalink)  
Antiguo 06/08/2011, 11:45
prozaius
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: precarga imagenes jquery

Gracias por tu respuesta, pero no funciona. He probado con

$(document).ready(function() {
precargar();
});

y no realiza bien la precarga, se cargan las imágenes poco a poco y lo que quiero es que aparezca el body entero (y como dije con el código javascript funciona). Supongo que hay algo incorrecto en la función precargar al traducirla a jquery.
  #4 (permalink)  
Antiguo 07/08/2011, 10:23
prozaius
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: precarga imagenes jquery

Hola de nuevo,

Problema solucionado!

Para lo que quiero hay que usar $(window).load(function() en lugar de $(document).ready(function() pues esta última no espera a que se hayan cargado todas los elementos (en este caso imágenes) de la página para construir el DOM.

Por si es de utilidad para alguien.

Saludos.
  #5 (permalink)  
Antiguo 24/08/2011, 00:42
 
Fecha de Ingreso: agosto-2011
Ubicación: Barcelona
Mensajes: 15
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: precarga imagenes jquery

Muchas gracias por el script prozaius justo ahora me ha salido el desarrollo y diseño de una web que utiliza un montón de imágenes (cosas de querer tipos de letras no estándares) y este script me esta ayudando mucho con la precarga (siempre intento trabajar con png guardándolos para web desde el photoshop)

Etiquetas: javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:30.