Foros del Web » Programando para Internet » Jquery »

Problema al esperar a que carguen las imagenes para realizar una accion con jquery

Estas en el tema de Problema al esperar a que carguen las imagenes para realizar una accion con jquery en el foro de Jquery en Foros del Web. Hola, hoy he empezado a estudiar la API jquery y llevo toda la mañana intentando conseguir una cosa y no soy capaz, a ver si ...
  #1 (permalink)  
Antiguo 25/05/2012, 07:32
 
Fecha de Ingreso: marzo-2012
Mensajes: 43
Antigüedad: 12 años, 1 mes
Puntos: 3
Problema al esperar a que carguen las imagenes para realizar una accion con jquery

Hola, hoy he empezado a estudiar la API jquery y llevo toda la mañana intentando conseguir una cosa y no soy capaz, a ver si alguien me puede ayudar.

Tengo el siguiente codigo html:
Código HTML:
#contenedor_promo{
	margin-right:10px;
	display:none;
}

.promo_img{
	text-align:center;
}

.promo_img img{
	margin:10px;
	border:2px solid #333;
	border-radius:7px;
	padding:2px;
}
<div id="contenedor_promo">
        <div  class="promo_img" id="promo_img"></div>
</div> 
y el siguiente codigo javascript:

Código:
function mostrar_promo(img,img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19,img20)
{
	if ($("#contenedor_promo").is(":visible")) {
		$("#contenedor_promo").slideUp('fast',function(){
                cargar_promo(img,img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19,img20),
		$('window').load(function(){
		$("#contenedor_promo").slideDown('slow');});
		});
	}
	else{
		var stack = $.Callbacks();
                stack.fire(cargar_promo(img,img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19,img20));
		$('window').load(function(){
		stack.fire ($("#contenedor_promo").slideDown('slow'));});
	}

}

function cargar_promo(img,fecha1,fecha2,titulo,descripcion,img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19,img20)
{
	document.getElementById('promo_img').innerHTML="";
	img_ad[0]=img; 
	img_ad[1]=img1;
	img_ad[2]=img2;
	img_ad[3]=img3;
	img_ad[4]=img4;
	img_ad[5]=img5;
	img_ad[6]=img6;
	img_ad[7]=img7;
	img_ad[8]=img8;
	img_ad[9]=img9;
	img_ad[10]=img10;
	img_ad[11]=img11;
	img_ad[12]=img12;
	img_ad[13]=img13;
	img_ad[14]=img14;
	img_ad[15]=img15;
	img_ad[16]=img16;
	img_ad[17]=img17;
	img_ad[18]=img18;
	img_ad[19]=img19;
	img_ad[20]=img20;
	var valor_ancho=0.5;
	num_img=0;
	for (var e=0;e<=20;e++){
		if (img_ad[e]!=""){
			document.getElementById('promo_img').innerHTML+="<a href=\"javascript:ampliar("+e+")\"><img id=\"promo_img_mostrar_"+e+"\"  /></a>";
				$("#promo_img_mostrar_"+e).attr('src',img_ad[e]);				

			}
		}
}
El problema que tengo es que la ventana nunca esta cargada, es decir, $('window').load no ejecuta nunca las callbacks.

Haber si algun alma caritativa me puede ayudar a encontrar el error, que me imagino que tendra algo que ver con que la capa contenedor_promo no es visible, entonces $('window').load no detecta el contenido como cargado nunca.
  #2 (permalink)  
Antiguo 25/05/2012, 14:19
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Respuesta: Problema al esperar a que carguen las imagenes para realizar una accion co

Deberías mostrar el código en que llamas a $('window').load(). Quizá se está ejecutando antes que se carguen las imágenes.
Para asegurarse que todo está cargado se hacen las llamadas dentro de:

Código:
     $(document).ready(function(){
           //aquí se hacen las llamadas, pues esta función se ejecuta cuando todo el documento ha sido cargado
     });
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 26/05/2012, 07:22
 
Fecha de Ingreso: marzo-2012
Mensajes: 43
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Problema al esperar a que carguen las imagenes para realizar una accion co

HOla, $('window').load lo ejecuto desde la funcion mostrar_promo() que esta en el mensaje anterior, para ejecutar esos codigos el usuario tiene que hacer click en una imagen, por lo que la web ya esta cargada totalmente.

Un saludo y gracias por ayudar

Etiquetas: esperar, html, imagenes, acciones
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 08:02.