Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/11/2011, 15:02
Avatar de Alun
Alun
 
Fecha de Ingreso: diciembre-2009
Ubicación: Liverpool
Mensajes: 140
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Plugins y técnicas jQuery para crear efectos con imágenes

Hola de nuevo, Jesús:

Ya se qué plugin es ese, estoy ahora mismo trabajando con uno igual, Fancybox, no se si lo conocerás.

Lo que yo hago es generar las etiquetas IMG mediante PHP, añadiéndole un ID, por supuesto, pero además, agregándole una clase igual a todas las fotos, quedándome algo así:

Código HTML:
Ver original
  1. <a class="galery" href="images/image1.jpg"><img src="images/thumbs/image1.jpg" id="image1"></a>
  2.  <a class="galery" href="images/image2.jpg"><img src="images/thumbs/image2.jpg" id="image2"></a>

Luego lo tienes más fácil para aplicarles el efecto jquery, en lugar de aplicar el efecto individualmente a cada link, lo haces con todos de una vez, de esta forma:

Código Javascript:
Ver original
  1. $("a.galery").click(function(evt){
  2.   evt.preventDefault();
  3.   var src = $(this).attr("href");
  4.   open(src);
  5.  });

La idea es simplificarlo, no tienes por qué aplicarle la misma función individualmente a cada una de las 149 imágenes con sus respectivos links, sino aplicársela a una clase, así, puedes añadir o eliminar fotos sin tener que tocar el código, ya que lo aplicará al número exacto de imágenes que haya.

El php para generar las imágenes es algo así:

Código PHP:
Ver original
  1. $path = 'img/images/thumbs';
  2.  $opendir = opendir($path) or die ('No se `ha encontrado el directorio');
  3.  
  4.  while($file = readdir($opendir)){
  5.   /*hay que comprobar que no se tomen los directorios padre, raiz y el
  6.   archivo db si usas windows, o los archivos que tengas y no quieras mostrar*/
  7.   if($file == '.' || $file == '..' || $file == 'Thumbs.db'){continue;}
  8.   /*Por cada imagen contenida en el directorio, haces un echo
  9.   asignándole la misma clase a todas, y de ID el nombre del archivo.
  10.   Igualmente, el ID no es necesario ponerlo, ya que, para simplificar,
  11.   vas a tomar el selector CLASS con jquery.*/
  12.   echo "<a class=\"galery\" href=\"{$path}/{$file}\">
  13.        <img src=\"{$path}/{$file}\" id=\"{$file}\">
  14.        </a>\n";
  15.  }

Si quieres un enlace a la web del plugin que uso yo, que, por lo que veo, trabaja igual que el tuyo, es este:

http://fancybox.net/


Espero que esto solucione tu problemilla y te ahorre código. Suerte!!