![]()
JQuery es un Framework que permite adornar nuestros proyectos de una manera bastante buena y original, uno de los elementos que los usuarios ven a primera vista cuando visitan un sitio Web es el menú principal, hoy aprenderemos a realizar un sencillo pero bonito menú horizontal con JQuery.
Lo primero que haremos será crear nuestro documento HTML en cual llamaremos ¨índex¨ y dentro de la etiqueta Body, colocaremos el siguiente código.
Menu Horizontal
Lo que hacemos es establecer un Contenedor principal al que llamaremos “menu-conteiner”, a nuestra lista le asignamos un identificador llamado “navigationMenu”, finalmente a los elementos de nuestra lista desordenada le podremos asignar dos valores los cuales son “normalMenu” y “selectedMenu”, el primero es para cuando el mouse no este arriba del link y el segundo es para cuando posicionamos el mouse arriba de un link.
Ye tenemos la primera parte de nuestro menú lo siguiente es darle efecto y estilo al mismo, para los efectos haremos uso de nuestro querido JQuery, así que creamos un documentos JS, el cual llevara por nombre “script.js”, el cual contendrá el siguiente código.
$(document).ready(function(){
//Seleccionamos cada elemento del menu
$('#navigationMenu li .normalMenu').each(function(){
// creemos un enlace hipertexto duplicado y lo colocamos sobre el actual
$(this).before($(this).clone().removeClass().addClass('hoverMenu'));
});
// Usando el metodo Hover
$('#navigationMenu li').hover(function(){
// asignamos una accion cuando posicionamos el mouse sobre el elemento
$(this).find('.hoverMenu').stop().animate({marginTop:'0px'},200);
},
function(){
// accion cuando el mouse esta fuera de un elemento
$(this).find('.hoverMenu').stop().animate({marginTop:'-25px'},200);
});
});
Como siempre con la la primera linea de código “ $(document).ready(function(){” indicamos que cuando nuestro documento HTML termine de cargar se cargue nuestro código JQuery. Posteriormente lo que hacemos es seleccionar los elementos de nuestro menu y agregar la clase “hoverMenu” dicha clase la crearemos en un momento en CSS.
Finalmente crearemos dos eventos uno cuando posicionemos el mouse arriba de un link y uno cuando este fuera de un link, para crear el efecto se hará uso del evento “animate”.
finalmente realizamos nuestro CSS, al cual llamaremos style.css , el cual tendra el siguiente código.
/* Page styles */
body,h1,h2,h3,p,td,quote,small,form,input,ul,li,ol,label{
margin:0px;
padding:0px;
}
body{ /* styling the body */
margin-top:20px;
font-family:Arial, Helvetica, sans-serif;
color:#51555C;
height:100%;
font-size:12px;
}
/* Navigation menu styles */
ul{ /* the unordered list */
height:25px;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
}
ul li{
border:1px solid #444444;
display:inline-block; /* changing the display property */
float:left; /* floating the list items to the left */
height:25px;
list-style-type:none; /* disabling the list icon */
overflow:hidden; /* hiding the overflowing content */
}
ul li a, ul li a:hover,
ul li a:visited{
text-decoration:none; /* removing the underline text-decoration */
}
/* styling the links */
.normalMenu, .normalMenu:visited,
.hoverMenu, .hoverMenu:visited,
.selectedMenu,.selectedMenu:visited {
outline:none;
padding:5px 10px;
display:block;
}
/* styles that are assigned individually */
.hoverMenu,.hoverMenu:visited,
.selectedMenu,.selectedMenu:visited {
margin-top:-25px;
background:url(img/grey_bg.gif) repeat-x #eeeeee;
color:#444444;
}
.selectedMenu,.selectedMenu:visited {
margin:0;
}
.normalMenu, .normalMenu:visited{
color:white;
background:url(img/dark_bg.gif) repeat-x #444444;
}
Y listo tenemos un menu bonito y sencillo, ya saben la recomendación de siempre, movamos el código y css para conocer mejor como funciona lo que estamos realizando, y ya saben cualquier duda, aclaración y aportación es bienvenido, lo importante es que todos aprendamos a usar estas herramientas.


