Pixelco · Ciencia Tecnología InnovaciónPixelco · Ciencia Tecnología Innovación
La tecnología, con perspectivaPeriodismo en español desde 2006
NoticiasCienciaTecnologíaVideoEntrevistasTikTokEdición italiana ↗
Menú y secciones
NoticiasCienciaTecnologíaVideoEntrevistasTikTokEdición italiana ↗
20 AÑOS DE PIXELCO · Dos décadas contando la ciencia y la tecnología en español →
Desarrollo/programaciónDiseñoInternetRecursos

Crea un menú animado con jQuery y CSS

Diego Cambiaso
03/08/2009 2 min de lectura
3 9

fancy-navigation-with-css-jqueryFancy Navigator Menu jQuery & CSS es un elegante menú animado desarrollado con jQuery & CSS.

Implementar este menú en nuestros desarrollos es muy simple ya que sólo son necesarios 3 pasos.

Implementación

Estructura HTML

Para crear las estructura del menú en el HTML de la página, es necesario un código como el siguiente:

<ul id="topnav">
    <li><a href="#">Home</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Portfolio</a></li>
    <li><a href="#">Blog</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Contact</a></li>
</ul>

Estilos con CSS

En esta parte se utiliza un técnica que imita a una máscara, esto se logra usando :

overflow: hidden;

jquery-menu

ul#topnav {
	margin: 0;
	padding: 0;
	list-style: none;
	float: left;
	font-size: 1.1em;
}
ul#topnav li{
	margin: 0;
	padding: 0;
	overflow: hidden;  /*--Importante - Estado por defecto--*/
	float: left;
	height:40px;
}
ul#topnav a, ul#topnav span { /*--Las etiquetas <a> y <span> comparten
las mismas propiedades de <span> que éste será un duplicado de la etiqueta <a> --*/
	padding: 10px 20px;
	float: left;
	text-decoration: none;
	color: #fff;
	background: url(a_bg.gif) repeat-x;
	text-transform: uppercase;
	clear: both;
	width: 100%;
	height: 20px;
	line-height: 20px; /*--Alineación vertical del texto--*/
}
ul#topnav a{ /*--Hover: cuando el puntero del mouse para por encima--*/
	color: #555;
	background-position: left bottom;
}
ul#topnav span{ /*--Estado de navegación por defecto--*/
	background-position: left top;
}

Animación jQuery

Primero enlazar a la biblioteca jQuery:

<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

jqeury-animation

$(document).ready(function() {

	$("#topnav li").prepend("<span></span>"); 
//Crear un espacio vacío antes de la etiqueta

	$("#topnav li").each(function() { 
//Por cada item
		var linkText = $(this).find("a").html();
//Encontrar el texto denteo de la etiqueta <a>
		$(this).find("span").show().html(linkText); 
//Agregar el texto a la etiqueta span
	}); 

	$("#topnav li").hover(function() {
//En el hover (cuando el puntero del mouse se posiciona por encima)...
		$(this).find("span").stop().animate({
			marginTop: "-40" //Encontrar la etiqueta<span>
y moverla 40 px hacia arriba.
		}, 250);
	} , function() { //Cuando se quita (retira o mueve) el puntero del mouse...
		$(this).find("span").stop().animate({
			marginTop: "0"  //Mover la etiqueta <span>
devuelta a la posición original (0px)
		}, 250);
	});

});

Fancy Navigator Menu jQuery & CSS.

Web: www.sohtanaka.com/web-design/animate-navigation-with-css-jquery

Etiquetas:

AccesibilidadCSSJavascriptjQueryjquery cssjquery pluginjquery tutorialmenu cssmenu desplegable jquerymenu jqueryRecursosSoftware libreTutorialesUsabilidad

Comparte este artículo

Diego Cambiaso

Comunicador Social, Desarrollador de Software y UX Designer. Blogger desde el 2006, creador de Pixelco Tech. Viajero y fotógrafo. Entusiasta del diseño, apasionado por la tecnología y el social media. EN-ES-IT

Artículo anterior

+10 Extensiones para Firefox para navegar seguros

Artículo siguiente

Kigo Image Converter – Programa para convertir imágenes y agrégarles una marca de agua

9 comentarios

  1. villa dice:
    08/08/2011 a las 12:44 pm

    una consultita…. se puede agregar a este un submenu? ej: si nos posicionamos en portfolio aparezcan abajo 3 opciones? gracias!

  2. david dice:
    29/05/2011 a las 3:58 pm

    no puedo,.., ayuda please!

  3. hector dice:
    20/02/2010 a las 9:48 am

    Hola, fantástico este menú!!!
    Mi duda es si podría cada elemento li tener un fondo diferente, es decir en vez de “ul#topnav a” pues utilizar algo como li#topnav a o creando clases…?

    Gracias!!!

  4. Diego dice:
    02/09/2009 a las 1:51 pm

    Hola Gustavo.
    Las imágenes son una sóla, con CSS se muestra la parte correcta.
    No sé si eso aclara tu duda, igualmente debería probar en varios navegadores para ver si es un problema de visualización, yo te recomiendo que trabajes con Firefox y utilices alguna extensión como Firebug.
    Espero que te aclare la duda o vuelves a escribir y me das más detalles.

  5. Diego dice:
    02/09/2009 a las 1:48 pm

    @RSB
    El Hove es la porción de la imágen que se muestra cuando el puntero del mouse está encima.
    El código que sigue es el Javascript que define todo el comportamiento.

  6. gustavo galindo dice:
    02/09/2009 a las 10:33 am

    amigo buenos dias tengo problemas con las imagenes como hago para insertarlas realizo todos los pasos el menu tiene el movimiento pero no sales las imagenes como hago ayuda soy nuevo en esto que pena molestarlo

  7. RSB dice:
    28/08/2009 a las 6:25 pm

    Estoy empezando y estoy un poco perdido.

    Lo que pone después de las dos imagenes donde pone hover ¿donde y como debería ponerlo, en el mismo archivo que el menu, dentro de etiquetas php?

    ¿Alguien me echa una mano?

  8. diseño web dice:
    07/08/2009 a las 11:08 am

    Me ha encantado este menu, lo habia visto en Flash pero en Jquery es mucho mejor.

    Felicidades por el blog!

Ver comentarios

Comments are closed.

Pixelco

Ciencia, tecnología e innovación.
Con criterio y en español.

Desde 2006 exploramos las ideas, los avances y las herramientas que transforman nuestra vida.

Scopri l’edizione italiana ↗
Pixelco · 20 años
ContactoPublicidadSobre Pixelco TechPolítica de privacidadTérminos del servicioPolíticas de DEIPolítica de uso de IA
© 2006–2026 Pixelco · Todos los derechos reservados.