Galeria de imágenes con Javascript I

Comentarios: 8
Tags: , ,
Fecha: 27/07/2006

Últimamente están surgiendo bastantes galerías implementadas con javascript, ya qye gracias a la aparición de librerías de efectos como script.aculo.us se logran efectos muy similares a las galerias creadas con Flash. En esta primera parte vamos a ver como crear una galería mediante el acceso a la propiedad src de las imágenes, que cargará las distintas imágenes sin necesidad de recargar la página. Para no complicar el tutorial con tecnologías de servidor, el listado de imágenes lo introducimos mediante un array. Puedes ver un ejemplo en funcionamiento y como verás el código es bastante sencillo y sólo se utilizan tres funciones. El ejemplo completo sería:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Galeria Javascript</title>
<script language="javascript">
//Array en la que debemos incluir
// la ruta a todas las imágenes de nuestro album
var misImagenes= new Array(3)
misImagenes [0]= "001.jpg";
misImagenes [1]= "002.jpg";
misImagenes [2]= "003.jpg";
misImagenes [3]= "004.jpg";
var i = 0;
//funcion de carga de la primera imagen
function cargarImagen(){
document.imgSrc.src = misImagenes[i] ;
}
function anterior(){
if(i<1){
var NumImagen = i
} else {
var NumImagen = i-=1;
}
document.imgSrc.src = misImagenes[NumImagen];
}
function siguiente(){
if(i>2){
var NumImagen = i
} else {
var NumImagen = i+=1;
}
document.imgSrc.src = misImagenes[NumImagen];
}
//Llamar a la función
window.onload=cargarImagen;
</script>
<style type="text/css">
body {
margin-top:40px;
}
td a {
font:9px Verdana, Arial, Helvetica, "sans-serif";
color:#FFFFFF;
text-decoration:none;
</style>
</head>
<body>
<div style="width:400px; height:300px; margin: auto;">
<img name="imgSrc" id="imgSrc" alt="ImÁgenes de la galeria">
</div>
<table width="400" border="0" cellspacing="0" cellpadding="0" style="background:#666; width:400px; margin: auto;">
<tr>
<td align="center"><a href="#" onClick="anterior();"> < Anterior</a></td>
<td align="center"><a href="#" onClick="siguiente();">Siguiente > </a></td>
</tr>
</table>
</body>
</html>

Algunas entradas relacionadas:

1 Luis
http://aventuraushuaia.com

Tengo un problema, ya que solamente se me ven las 4 primeras imagenes y alli queda... Quizas hay que modificarle algo al codigo... desde ya agradeceria la respuesta... Un abrazo
2 Francisco
http://www.webintenta.com

Tienes que variar la línea donde pone:

var misImagenes= new Array(3)

y poner el número de imágenes que conforman la galería menos uno. Los arrays empiezan a contar a partir del cero.
Después tienes que poner la ruta de todas las imágenes:

misImagenes [0]= "001.jpg";
misImagenes [1]= "002.jpg";
misImagenes [2]= "003.jpg";
etc.

Con eso debe bastar.

Saludos.

3 Francisco
http://www.webintenta.com

Se me olvidaba...
También tendrías que cambiar la función siguiente() cambiando en la línea
if(i>2){
el 2 por el número de imágenes de tu galería menos 2. Es decir si tu galería tiene 10 imágenes, tendrías que sustituir el 2 por un 8.

Saludos.
4 Luis
http://aventuraushuaia.com

Hola Francisco, la verdad que excelente la ayuda que me diste. Lo que si, la función de la línea “siguiente” al total también le reste 1, ya que sino me quedaba una imagen sin ver.
Muchas gracias por la rapidez de la respuesta. Un abrazo..
5 amber

Muchas gracias!! me ayudó a resolver un problema de incompatibilidad con flash y al fin pude subir aunque sea una galería en javascript como opción.
Gracias otra vez!
6 marisolivier
http://www.ofgms.com

hola Francisco

gracias por este codigo

¿existe la posibilidad de añadir un titulo a cada foto?

gracias
7 aaron

hola que tal estoy intentando hacer una galería como la que muestras en este ejemplo, solo que quisiera añadir una funcion para que las imagenes cambien automaticamente con un intervalo de tiempo determinado, me gustaria saber como hacerlo,

de antemano gracias

saludos
8 Alvaro

Hola amigo, me sacado de apuros y esta excelente el script muchas gracias

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados.

Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web o deseas contactar conmigo lo puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com

El hombre nunca sabe de lo que es capaz hasta que lo intenta.Dickens, Charles
Pixer.us

Pixer.us es un servicio web que nos ofrece opciones sencillas de edición de imágenes, como modificar el tamaño o recortarlas. También podremos añadirle unos cuantos efectos básicos. Para utilizar este servicio tan sólo tenemos que subir nuestra imágen haciendo click en el botón de “Examinar” y luego en el de “Upload & Edit”. Una vez hemos realizado las modificaciones tendremos la opción de guardar la imagen en alguno de los siguientes formatos: JPEG, GIF, BMP o PNG.

7 Poderosos carruseles de imágenes para diseñadores

Este post es una colección de algunos de los mejores carruseles de imágenes y contenido que podemos utilizar para nuestros proyectos web. El listado incluye Agile Carousel, YUI Carousel, JCarousel, iCarousel (jQuery + MooTools) y un tutorial acerca de cómo implementar un carrusel como los de Flickr utilizando Prototype-UI.

Listado de editores de PHP

Listado que aglutina la mayoría de editores de PHP que existen en la actualidad. El listado está dividido en editores gratuitos -con una subdivisión por sistema operativo- y editores comerciales. Interesante enlace.

50 lecciones acerca de teoría del diseño

Desde Psdtuts+ nos ofrecen 50 lecciones acerca de teoría del diseño gráfico. Si bien muchas veces nos enfocamos en el cómo de las cosas, cómo conseguir un efecto, cómo realizar una retícula en css,... también resulta muy importante entender el "por qué". Lecciones acerca de tipografía, psicología del color, composición, etc. Las lecciones están en inglés.

BonkEnc extrae, codifica y convierte archivos de audio

BonkEnc es una utilidad para extraer las pistas de audio de los CDs, codificar y convertir los archivos de audio a múltiples formatos. Es capaz de generar archivos en formato MP3, MP4 /M4A, Ogg Vorbis, AAC, y FLAC. Y dispone de su propio códec de sonido, Bonk. Además es compatible con CDDB (Compact Disc Database) y CDText

Times Reader: el New York Times en Adobe AIR

El prestigioso New York Times ha lanzado una aplicación, llamada Times Reader, basada en Adobe AIR, que permite leer las noticias de un modo más parecido a lo que sería un periódico en papel. Parece que la crisis de los medios escritos hace que se abran a nuevos modelos de negocio.

Appetizer

Appetizer es una aplicación gratuita para Windows que funciona como lanzador de aplicaciones. Permite organizar los accesos directos y carpetas que más a menudo utilizemos en una cómoda barra o "dock" . Entre sus características cabe destacar que tiene soporte para plugins; para pieles; teclas de acceso rápido; apoyo a iconos personalizados; etc. También es muy interesante mencionar que el programa posee una versión portable del mismo.

How To Create A Great Web Design CV and Resume?

Aprovechando que están cayendo chuzos de punta en el mundo laboral, en Smashing Magazine se han marcado un muy interesante artículo sobre como crear un buen currículum vitae.

13 trucos para Google Reader

Una interesante recopilación de recursos y recetas para sacar un mayor partido a Google Reader: atajos de teclado, uso de filtros, utilizar las notas,...