Comunidad de diseño web y desarrollo en internet online

lightbox cargado con AJAX

Citar            
MensajeEscrito el 13 Jun 2008 03:19 pm
Saludos a todos.

Acabo de ingresar en este foro y me gustaría realizar una pregunta.

En un div cargo con ajax.load una galería lightbox que está en otro .html

La galeria se carga perfectamente, pero el lightbox no funciona.

¿Puede alguien echarme un cable?

Gracias de antemano.

Por pete

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Jun 2008 06:40 pm
AJAX es para mostrar (en principio) texto plano, cmo resultados a consultas SQL, tablas y demás.
Mostrar imágenes mediante AJAX, lo considero un delito.

Te recomiendo te replantees el uso del AJAX...
(aunque algunos me griten por ello)

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 16 Jun 2008 02:45 pm
Gracias Rizome. Tengo en cuenta tu opinión, pero buscaba una solución...

Por lo que he indagado el problema está en que es preciso inicializar de nuevo el Lightbox con alguna solución similar a:


<a href="img/imagen.jpg" title="caption" rel="lightbox" onclick="myLightbox.start(this); return false;">imagen</a>


A ver si alguien sabe a que me refiero y puede ayudarme.

Por pete

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Jun 2008 02:57 pm

pete escribió:

Gracias Rizome. Tengo en cuenta tu opinión, pero buscaba una solución. [...]
En ocasiones nos empeñamos en hacer las cosas difíciles, o de la manera inapropiado, y tampoco nos gusta que nos lo digan.

Si me preguntas cómo podrías hacer para maquetar con una tabla, tendrás que aguantar que te digan que no es la manera adecuada de trabajar; pues ocurre lo mismo si dices que quieres montar una galería de imágenes, usando AJAX.

Entiende, que en estos foros alentamos a trabajar de manera adecuada.
Siento que mis palabras no te ayuden como quieres... pero no por eso dejan de ser menos ciertas.

Suerte en tu trabajo.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 16 Jun 2008 04:08 pm
Tu problema se debe a que lightbox necesita "inicializar" las imágenes para poder mostrar ese efecto. El script de lightbox hace esto automáticamente sin que tengas que llamar nada, pero al cargar mediante ajax un nuevo set de imágenes estas no son inicializadas.

Lo que debes hacer es llamar la función

Código :

myLightbox.updateImageList() 


justo después de haber cargado tu nuevo segmento con ajax.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 18 Jun 2008 09:05 am
Muchas gracias Odin.

acabo de probarlo y funciona perfectamente.

Por pete

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Oct 2008 05:08 pm

pete escribió:

Muchas gracias Odin.

acabo de probarlo y funciona perfectamente.


Hola, me podrías decir donde y como lo has puesto, por que yo por más que lo he intentado no lo he conseguido, siempre me da el error
Error: myLightbox.updateImageList is not a function

Gracias.

Por amrdgz

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Oct 2008 06:50 pm
La llamada va justo después de que cargues el segmento con ajax, pero por como suena tu error, me parece que has no has agregado los scripts de lightbox o, en su defecto, estas utilizando otra librería que no es lightbox pero se le parece. Por si las dudas aclarar que esto es para lightbox2, no se si funciona para el uno.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 09 Oct 2008 10:16 pm
hola a mi tampoco me funcionaba con las soluciones que dan , pero estuve buscando y probando pues me funciono asi:
coloca esto al inicio de la pagina q cargas con ajax
<script>
new Lightbox().updateImageList();
</script>

con eso deberia funcionar :wink: , nos vemos

Por newkey_18

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Oct 2008 10:59 pm
probando lo q te di me encontre con un problema cuando carga por segunda vez la pagina con ajax que tiene el ligthbox y resulta q lo q hace cuando llamas a la funcion es crear otra vez el mismo contenedor del lightbox y esto genera un problema, asi q debes asegurarte de q cuando llames a la web con ajax q tiene el lichtbox debes destruir al lighbox, bueno yo lo solucione creando esta funcion
function removeLightbox(){
if($('lightbox')){
Element.remove($('lightbox'))
Element.remove($('overlay'))

}
}
en el link o evento q carga la pagina en ajax ,antes q la llames haz una llamada a esta funcion y listo ;)
espero haberme explicado bien :P

Por newkey_18

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Oct 2008 09:53 am

Odin escribió:

La llamada va justo después de que cargues el segmento con ajax, pero por como suena tu error, me parece que has no has agregado los scripts de lightbox o, en su defecto, estas utilizando otra librería que no es lightbox pero se le parece. Por si las dudas aclarar que esto es para lightbox2, no se si funciona para el uno.


Odin, no se que es lo que estara pasando, pero vamos, esto no va. Utilizo el lightbox2, y la llamada da igual donde la ponga, no se hace ni caso, de hecho yo creo que no la ejecuta.

newkey_18, tu opcion tampoco me funciona, creo que soy muy torpe, pero vamos que no me hace nada, tengo la sensacion que no ejecuta los scripts, por lo menos un simple alert no me lo muestra, ni destruyendo la clase ni nada de nada.

Me podeis hechar una mano??? Estoy por cortarme las venas a bocaos ya.

Gracias por vuestras respuestas, aunque no haya sido capaz de echar a andar esto.

Por amrdgz

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Oct 2008 11:41 am
Señores:

Tengo a bien comunicarles que todo funciona OK, no sé como, pero ahora funciona todo perfectamente, sin inicializar, sin destruir la clase y volverla a lanzar....
No sé por qué pero ahora funciona.
Gracias a todos.

Por amrdgz

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ago 2014 05:57 am
si es cierto hay que cargar los scripts despues de que se carga el elemento, yo lo solucione asi:

<a href="inicio.htm" rel="lightbox_text">
<input type="button" value="Registrarse" name="btnRegistro" id="btnRegistro" class="boton"/>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>
</a>

Por jaimeAragonParada

0 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.