Solución de bug en ImageFlow 1.3

Publicado: 16/05/2010 en bug, desarrollo, ImageFlow, JavaScript
Etiquetas:, , ,

You can read the English version of this post in http://phpsblog.agustinvillalba.com/bug-fix-imageflow-1-3/

Hoy vamos a solucionar un bug que encontré en la actualización de ImageFlow, pasando de la versión 1.2.1 a la 1.3. La nueva versión, pretende entre otras cosas solucionar el problema que había en Internet Explorer cuando únicamente había una imagen en la galería. Este problema era que no se mostraba nada si sólo teníamos una imagen en la galería en IE. Pues bien, la versión 1.3 ya muestra la imagen si sólo tenemos una, pero si además esa imagen tiene un «caption» (pie de foto), pues resulta que el caption no nos los muestra, ni en Internet Explorer ni en ningún otro navegador. Pues bien, aquí les dejo la solución al bug para aquellos que deseen (y se atrevan) a meterle mano al código de la librería.

Solucionando el bug

Para solucionar el problema hemos de abrir el archivo imageflow.js que nos encontramos en el .zip que nos hemos descargado. Vamos a la línea 526 aproximadamente donde nos encontramos el siguiente bloque de código:

/* Only animate if there is more than one image */
 if(my.max > 1)
 {
 my.glideTo(my.imageID);
 }

En este bloque de código, el autor comprueba si hay más de una imagen, en cuyo caso llama a una función que entre otras cosas, aplica el caption correspondiente a la imagen actual (my.imageID). Pues bien, a este bloque if simplemente tenemos que añadirle un bloque else donde contemplamos el caso en el que no haya más de una imagen (es decir, exactamente 1). El bloque completo nos debería quedar algo así:

...
/* Only animate if there is more than one image */
 if(my.max > 1)
 {
 my.glideTo(my.imageID);
 }
 else
 {
 var caption = my.imagesDiv.childNodes[my.imageID].getAttribute('alt');
 if (caption === '' || my.captions === false)
 {
 caption = ' ';
 }
 my.captionDiv.innerHTML = caption;
 }
...

De esta forma, aunque sólo tenemos una imagen, nos aseguramos de que esa imagen tenga su caption correspondiente. Ya he avisado al autor de este pequeño fallo y esperemos que lo tenga en cuenta para la próxima actualización. Espero que les haya sido de ayuda!

You can read the English version of this post in http://phpsblog.agustinvillalba.com/bug-fix-imageflow-1-3/

comentarios
  1. Magnífico post Agustín. Seguro que le resulta muy útil a más de uno 😉

    Saludos.

Deja un comentario