Hoy quiero mostrar un poco de lo que se puede hacer con mootools, se trata de un carrusel de imágenes, muy sencillo, puedes ver el ejemplo para que me entiendas mejor.
Ahora voy a explicar como es que lo he hecho, veras que es algo muy sencillo. Primero es necesario descargar la última versión de mootools, luego lo importas a tu documento.
UPDATE:
He escrito un tutorial sobre como hacer esto mismo con mootools1.2, ademas explico como escribir una clase correctamente utilizando todo el potencial de mootools, te recomiendo ir a leer el nuevo tutorial.
Para importarlo al documento unicamente es necesario hacer esto:
Acontinuación muestro el XHTML necesario para el carrusel.
Como puedes ver, hay una capa contenedora de dos capas, las capas de adentro son para almacenar temporalmente las imágenes e irlas rotando, estoy utilizando dos, porque cuando se realiza la transición la imagen actual se desvanece, y la imagen siguiente aparece, ambos efectos al mismo tiempo.
Lo siguiente es acomodar estas capas una encima de la otra y darle el tamaño de las imágenes, esto lo hago con CSS.
Con esto únicamente estoy modificando las posiciones y asignando las imágenes iniciales, si te fijas la capa contenedora la posicione relativa, esto lo hice para hacer la capa IMG2 absoluta, de esta manera puedo mover la capa img2 a las coordenadas especificas, ósea, ponerla sobre la capa img1. Otro punto importante a destacar aqui, es que si el usuario no tiene habilitado JavaScript, aparecerá simplemente la imagen uno, no habrá efecto, pero podrá ver una imagen.
Lo siguiente es hacer un objeto que le llamaré Animación, este objeto le voy a pasar dos parámetros en el constructor, uno es la url donde están alojadas la imágenes a mostrar, y el otro es el numero máximo de imágenes a desplegar, el directorio de imágenes, debe de contener las imágenes nombradas numéricamente en orden ascendente, es decir deben llamarse 01.jpg, 02.jpg,03.jpg, etc.
Hasta este punto el código debe estar asi:
Las propiedades del objeto son base, que es el directorio donde se alojan las imágenes, cont, es un contador secuencial, se incrementará a uno por cada ejecución de la transición, img1 es una variable booleana que indica únicamente si el div img1 es el que sale o no, maximo es la variable que contiene el maximo numero de imágenes, al llegar con a este numero, se reinicia.
Ahora sigue hacer una función a la cual llamaré inicia, la cual va a levantar un temporizador que se ejecutará cada tres segundos.
He comentado las partes mas importantes del código, espero esté claro, y si existe alguna duda o comentario puedes dejarlo con toda confianza.
El código completo es el siguiente:
Hasta la próxima!
POrque pones dos div no es necesario solo 1
Utilizo dos divs, por que hago una transición entre una imagen y otra, pudiese utilizar uno solo, pero no sería el mismo efecto, el efecto actual funciona asi:
La imagen actual se desvanece, mientras la nueva imagen aparece, al mismo tiempo, si utilizara un solo div, entonces, la imagen actual desaparecería y despues aparecería la nueva imagen.
¿Cuales son exactamente los archivos que hay que descargar del sitio web de mootools? Gracias
Muy buen punto! personalmente siempre descargo todo el API, de aprox 35kb, pero si solo quieres descargar las clases que se utilizan para este ejemplo, selecciona la clase Window.DomReady, Fx.Styles y se seleccionaran automaticamente sus dependencias.
No lo he probado, pero me parece ser que estas son las unicas que se utilizan en este ejemplo ![]()
Gracias
También me gustaría saber como conseguir que el efecto de transición entre imágenes ocurra más despacio
Para eso simplemente agregale mas segundo al temporizador justo en esta linea
//Este es el temporizador, se ejecutará cada tres segundos
).periodical(3000,this);
ese 3000 son tres segundos, ponle 10000 y seran 10 segundos ![]()
Hola.
Hice el ejercicio tal cual pero cuando se difumina la primera imagen, no se vuelven a ver más imagenes, se queda como cargando, te lo digo porque en la parte inferior izquierda del navegador dice cargando.
Que puede hacerme falta.
Gracias por su ayuda
Yo quiero hacer el efecto de la transicion entre una y otra mas lento, se puede? no cada cuanto se cambia de una a otra, sino el efecto de transicion
gracias
@Gustavo mira, te recomiendo leer este tutorial que escribi http://www.crysfel.com/index.php/2008/02/13/carrusel-de-imagenes-con-mootools12/ esta mejor y mas explicado.
saludos.
UNA PREGUNTA ESTOY PROBANDO EL CODIGO, Y ME ENCONTRE CON QUE NO VISUALIZA NINGUNA IMAGEN, NO SE QUE HICE MAL!
@ADAN es posible que no estes importando correctamente la librería de mootools, o quizas no le estes pasando la URL correcta de donde estan alojadas tus imáagenes.
De todas formas, te recomiendo hacerlo de esta manera http://www.crysfel.com/index.php/2008/02/13/carrusel-de-imagenes-con-mootools12/
GRACIAS MUY BUEN APORTE, EXCELENTE! UTILIZE EN EJEMPLO QUE PUSISTE EN EL LINK,GRACIAS, UNA DUDA QUIERO AGREGARLES VINCULOS A LA IMAGENES EN QUE PARTE DEL CODIGO LOS VINCULOS?
GRACIAS MUY BUEN APORTE, EXCELENTE! UTILIZE EN EJEMPLO QUE PUSISTE EN EL LINK,GRACIAS, UNA DUDA QUIERO AGREGARLES VINCULOS A LA IMAGENES EN QUE PARTE DEL CODIGO AGREGA LOS VINCULOS? E ESTOD INTENTADO PERO NO LO PUEDO ARREGLAR!