Aquellos que hayan visitado nuestra web (y los que no, podéis hacerlo ahora), habrán visto la animación que hay en la pantalla principal. Consiste en una animación con Fx.Elements la cual, al hacer clic en alguna de las secciones, se convierte en un acordeón horizontal. Ambos efectos han sido realizados con la librería javascript mootools 1.1.
Voy a ahorrarme la parte de hacer la animación Fx.Elements porque es trivial y sólo con ver la demo en la web oficial de mootools se consigue, aún así si teneis cualquier duda… os será resuelta e incluso puedo colgar el ejemplo de como hacerlo.
La realización del acordeón consta de tres partes, que vamos a diferenciar.
HTML:
<div id=”servicios”>
<h5 id=”h5eprs”></h5>
<div id=”eprs” class=”servicio”>Texto a mostrar en primera sección</div>
<h5 id=”h5eprd”></h5>
<div id=”eprd” class=”servicio”>Texto a mostrar en segunda sección</div>
<h5 id=”h5efrm”></h5>
<div id=”efrm” class=”servicio”>Texto a mostrar en tercera sección</div>
</div>
Tenemos una capa “servicios” que será el contenedor de todas las partes del acordeón, cada parte del acordeón está formada por una cabecera, y un cuerpo. La cabecera puede ser un div, span… en nuestro caso es un h5, el cuerpo será un div.
Como podemos apreciar en el ejemplo tenemos tres partes de acordeón; tres cabeceras (h5) y tres cuerpos (div).
CSS:
#h5eprs {
background-image: url(barra_eprs.png);
}
#h5eprd {
background-image: url(barra_eprd.png);
}
#h5efrm {
background-image: url(barra_efrm.png);
}
#servicios {
position: relative;
float:left;
}
#servicios .servicio {
float: left;
position: relative;
display: block;
width: 160px;
height: 336px;
background-repeat:no-repeat;
background-position: 25px 49%;
margin-top: -1px;
}
#eprs { background-image:url(e_eprs.png); border-right: 1px solid black;}
#eprd { background-image:url(e_eprd.png); border-right: 1px solid black;}
#efrm { background-image:url(e_efrm.png); }
El CSS en este caso no tiene gran poder para el acordeón, pero indica el posicionamiento del acordeón (#servicios), y el estilo que deseamos que tenga, tanto las partes plegadas (h5), como los contenidos (#servicios .servicio e ids de cada uno) que en este caso sólo muestran imágenes de fondo.
JS:
accordion = new Accordion(’#servicios h5′, ‘#servicios div’,
{
width: true,
fixedWidth: 390, /* Colocamos el ancho y el alto total del acordeón */
fixedHeight: 335,
display: index;
});
En este apartado, lo único reseñable es el atributo WIDTH, éste es el que determinará si el acordeón es horizontal. Los otros parámetros definen el ancho y el alto total del acordeón (el FIXEDWIDTH sólo funciona en acordeones horizontales), el parámetro INDEX indica que sección dentro del acordeón queremos mostrar cuando se visualice, en nuestro caso le pasamos el valor de la sección en la que se ha clicado, pero puede ponerse un valor fijo.
Recordad que el código JS hay que introducirlo dentro de:
window.addEvent(’domready’, function() {
//COLOCAR EL CÓDIGO DEL ACORDEÓN AQUÍ
});
Es un ejemplo fácil y sencillo, aunque crear un acordeón con mootools no es muy complicado aquí os dejo este pequeño tutorial.
Compártelo