viernes 16 de mayo de 2008

Problemas con Lightbox.show

En el trabajo uso bastante las librerias javascript de Phatfusion. Usando Lightbox, encontre que varias personas tienen problemas al usar el metodo Lightbox.show() para forzar la muestra de la imagen ampliada.
En mi caso, estaba tratando de llamar al método en el evento onMouseOver, pero siempre derivaba en un cuadro blanco sin la imagen adentro:


<a href="../img/big/img1.jpg" rel="lightbox"
onmouseover="Lightbox.show('../img/small/img1.jpg');">


Para solucionarlo, usé el evento onMouseOver como una pasarela hacia el evento onClick del link asociado al Lightbox de la siguiente manera:


<a href="../img/big/img1.jpg" rel="lightbox"
onmouseover="this.onclick();">


Disfruten!

1 comentarios:

Sphericow dijo...

Hola:

Tu entrada me ha sido de ayuda, pero he conseguido que me funcione algo como esto:
<tr onmouseover="showLightbox('img/foto.jpg');" onmouseout="hideLightbox();">

La solución está en buscar, dentro de la función showLightbox, el texto objLink.href y quitarle el .href (aparece dos veces).

Por otro lado, has de eliminar las líneas donde pone objOverlay.style.height (con eso evitas que la imagen oKupe toda la pantalla) y el bloque if(objLink.getAttribute('title')) junto con su else (para que no te dé error de DOM/javascript).

Funciona tanto en Firefox 3 como en Internet Explorer 7.

Un saludo.