Volando con Moo
[Mootools][1] es más que un excelente framework, es tremenda herramienta de desarrollo. Y de efectos. En su sitio web oficial, la documentación deja algo que desear, y la falta de ejemplos desglosados impide que quienes no estén acostumbrados a esta herramienta pueda siquiera comenzar a usarla. Un efecto que me gusta mucho y que he utilizado un par de ocasiones es FX.Scroll, donde puedes a través de id‘s linkear a secciones dentro de un [Ver ejemplo final][2]{.verejemplo} Bueno, la idea es mostrar cómo se hace para que uds. puedan replicarlo según sus necesidades. Comenzaré por el HTML que se constituye de 3 partes: el menú (#menu, que lo pueden hacer cómo se les dé la gana, lo importante son los id‘s de los links), el
Ya el CSS es lo que ayuda a la magia (obviaré el estilo del #menu):
#envoltura { Y finalmente lo que hace la magia, el JS. Antes que todo se linkea mootools.js, y luego el que podemos configurar a nuestro gusto:
var scroll = new Fx.Scroll(‘envoltura’, { Bueno, nuevamente les dejo el link al ejemplo final: [Ver ejemplo final][2]{.verejemplo} [1]: http://www.csslab.cl/?s=mootools “Enlace a “Buscar Mootools en CSSLab””
[2]: http://www.csslab.cl/ejemplos/volando/index.html “Enlace en CSSLab a “Ejemplo Final””
1
2
3
overflow: hidden;
height: 300px;
width: 600px;
position: relative;
}
#dentro {
width: 1600px;
height: 1600px;
background: url(imgs/fondo.jpg) center center no-repeat;
position: relative;
}
h1 {
color: #fff;
font-size: 200px;
}
#contenido1 {
position: absolute;
left: 250px;
top: 80px;
}
#contenido2 {
position: absolute;
left: 800px;
top: 1200px;
}
#contenido3 {
position: absolute;
left: 900px;
top: 550px;
}
// envoltura es el id que funciona como ventana
wait: false,
duration: 1000,
// duration es la duración de las transiciones en milisegundos
offset: {‘x’: -230, ‘y’: -20},
// offset es la distancia del eje X Y que mostrará los elementos posicionados
transition: Fx.Transitions.Back.easeInOut
// transition es el tipo de transición que tendrá, ver ejemplos en mootools.net
});
$(‘link1’).addEvent(‘click’, function(event) {
// aqui ya comenzamos a darle cada id del …
event = new Event(event).stop();
scroll.toElement(‘contenido1’);
// …hasta qué id tiene que llegar.
});
$(‘link2’).addEvent(‘click’, function(event) {
event = new Event(event).stop();
scroll.toElement(‘contenido2’);
});
$(‘link3’).addEvent(‘click’, function(event) {
event = new Event(event).stop();
scroll.toElement(‘contenido3’);
});