Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/08/2010, 23:34
Luisus
 
Fecha de Ingreso: mayo-2010
Mensajes: 51
Antigüedad: 14 años
Puntos: 3
Respuesta: Fancybox de jquery a través de AJAX

Hola qué tal amigo.

Este tema es muy viejo pero mi problema era el mismo que el tuyo y tardé demasiado en dar con la solución. Aparte es de los primeros resultados en Google así que aquí va cómo lo resolví:

El problema radica en que uno modifica el contenido de la página con AJAX por lo que el fancybox ya no funciona. Esto se soluciona echando a andar fancybox de nuevo para que reconozco los cambios hechos en la página.


Supongamos que la parte que ejecuta los cambios en AJAX es esta, los cambios deben ser así:
Código:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
	{
        // Aquí van todos los scripts que modifican la página


       // Una vez hechos todos los cambios se llama un Timeout que cargue el fancybox
	setTimeout(function() 
		{
		$("a[rel=TuRelacion]").fancybox( ... ... .... Tu configuración ... .... ... .. );
		},1000);

	}

La clave es usar un Timeout, al parecer fancybox es muy rápido y no espera a que carguen las imágenes. Yo uso uno de 1 segundo, ahí ustedes muévanle al que más se les acomode.

Una vez hecho esto, todo funcionará mágicamente.



¡Saludos y felices códigos!