Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Slimbox no funcion luego de una llamada ajax

Estas en el tema de Slimbox no funcion luego de una llamada ajax en el foro de Frameworks JS en Foros del Web. Hola a todos! En una pagina uso slimbox para visualizar imagenes el problema es que slimbox cargar al principio las imagenes. (aunque este proceso lo ...
  #1 (permalink)  
Antiguo 22/04/2009, 15:32
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
Slimbox no funcion luego de una llamada ajax

Hola a todos!
En una pagina uso slimbox para visualizar imagenes el problema es que slimbox cargar al principio las imagenes. (aunque este proceso lo se en teoria, a traves de DOM).
Las imagenes las muestro de a 5. Como uso ajax al actualizar el div correspondiente a las imagenes que cargo Slimbox difieren de las que trajo Ajax.

Probando el codigo de slimbox.js hice lo siguiente:
agregé una funcion javascript
Código PHP:
function pruebaDom(){
   
window.addEvent('domready'Lightbox.init.bind(Lightbox));;

En el php llamado por ajax, le agregé al final de las imagenes un párrafo:
Código PHP:
<p align="center" onclick="pruebaDom();">DOM</p
Entonces en la pagina cuando actualiza las imagenes aparece un texto "DOM" al hacer click sobre éste vuelve a "cargarse el Lightbox" y ahora al clickear en la imagen, Slimbox visualiza la nueva imagen.
Ok todo bien pero de que manera podria ejecutar el addEvent de slimbox automaticamente?
Incluso intente en <a> en evento onclick pero no funcionó .
Código PHP:
<a href="images/logo.jpg" onclick="pruebaDom();" rel="lightbox"
  #2 (permalink)  
Antiguo 22/04/2009, 15:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Slimbox no funcion luego de una llamada ajax

Lo que puedes hacer, es luego de cargar el contenido traído mediante Ajax, llamara a:
Código javascript:
Ver original
  1. Lightbox.init.bind(Lightbox);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/04/2009, 15:54
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Slimbox no funcion luego de una llamada ajax

Ok, pero como hago la llamada sin usar <p>
  #4 (permalink)  
Antiguo 22/04/2009, 15:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Slimbox no funcion luego de una llamada ajax

En el evento onreadystatechange del objeto XMLHttpRequest (en el estado 4, cuando recibas la respuesta)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 23/04/2009, 12:42
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 16 años, 4 meses
Puntos: 35
Bueno ahora si me funciona de maravillas, pero surge otro problemita:
Todo el proceso del objeto XMLHttpRequest esta dentro de una función js la cual no puedo modificar
Código PHP:
function processajax (serverPageobjgetOrPoststr
la cual con esos datos los procesa, vuelca el contenido al obj y termina su función ajax.
En la siguiente función tendria que agregar una linea más para llamar a slimbox
Código PHP:
function cargarImagenes(idImagenes,pagina,idProducto){
  
objImagenes document.getElementById(idImagenes);    
  var 
serverPage 'ajaxImagenes.php?producto='+idProducto+'&pagina='+pagina;
  
processajax(serverPageobjImagenes"get""");//llamo a función de ajax
  
window.addEvent('domready'Lightbox.init.bind(Lightbox));//<--no funciona

pero no funciona, unicamente cuando la usaba dentro de la función ajax (en xmlhttp.readyState

== 4). Hay alguna manera para desde esta función actue Slimbox correctamente.

Ok lo solucione de otra manera, con el evento onmouseover dentro de las imagenes llamo a una función recargarBox() la cual reinicia el slimbox
Código PHP:
function recargarBox(){
   
window.addEvent('domready'Lightbox.init.bind(Lightbox));


Última edición por GatorV; 23/04/2009 a las 20:24
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 01:26.