<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
</script>
o bien, enlazándolas de manera directa:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js' type='text/javascript'/>
El primer paso es agregar el pequeño código del script, también, antes de </head>:
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
$("#topnav li").prepend("<span></span>");
$("#topnav li").each(function() {
var linkText = $(this).find("a").html();
$(this).find("span").show().html(linkText);
});
$("#topnav li").hover(function() {
$(this).find("span").stop().animate({marginTop: "-40"}, 250);
} , function() {$(this).find("span").stop().animate({marginTop: "0"}, 250);});
});
//]]>
</script>
Y luego, el CSS que podremos personalizar a gusto:
<style type="text/css">
ul#topnav { /* el menú es una lista */
float: left;
list-style-type: none;
margin: 0;
padding: 0;
}
ul#topnav li { /* cada item de la lista */
float: left;
height: 40px;
list-style-type: none;
margin: 0;
overflow: hidden; /* importante */
padding: 0;
}
ul#topnav a, ul#topnav span { /* cada item es un enlace */
clear: both;
height: 20px;
line-height: 20px;
padding: 10px 15px;
float: left;
/* propiedades de color, fonto y fuente de los textos */
}
#menu li a:hover { /* efecto onmouseover sobre los enlaces */
/* propiedades de color, fonto y fuente de los textos */
}
</style>
Hasta allí toda la preparación, ahora, el menú en si mismo que podemos colocar en cualquier parte, donde deseemos mostrarlo:
<ul id='topnav'>
<li><a href="direccion_URL"> MENU-1 </a></li>
<li><a href="direccion_URL"> MENU-2 </a></li>
<!-- cada item es un enlace -->
<li><a href="direccion_URL"> MENU-X </a></li>
</ul>
Quienes utilicen otro tipo de framework como
Prototype + Scriptaculous deben tener en cuenta que habrá un conflicto ya que las librerías son incompatibles. Para esto,
hay una solución que implica editar los
scripts. Otra alternativa menos elegante pero en este caso, efectiva, es usar un
blog auxiliar, colocar el menú allí y cargarlo mediante un
IFRAME que es el modo en que se ve en el ejemplo de esta entrada.
16 comentarios:
Excelente efecto, muy bien logrado, pasa por ser un menu en flash.
Soy programador JavaScript Junior y nunca he utilizado esta libreria, pero ahora se habla mucho de ella y veo el porque.
Un saludo.
Lei la nota en banakabanaka, y voy a probar con este JQuery a ver que resulta. Gracias por la info JMiur :)
Yo soy de Prototype Scriptaculous, pero realmente Jquery me esta empezando a gustar.
¿Ya has probado en este menú con lo de banaka? porque en algunos script no funciona.
yo programo mi blog y me fui a lo de Banaka Banaka -deberíamos preguntarle el por qué o el significado de Banaka- :D
guau queda bonitísisimo, saltarín...ahora, después de hacer 'chocado los puertos en mi pc' que importaría si lo hicieran las librerías :P :P :P
Pero que ven mis ojos jQuery en Vagabundia!! :D
La verdad que jQuery da la sensación de ser mucho más completa que otras librerías imagino que todo es cuestión de analizar las necesidades de cada uno y decidirse por una u otro aunque con esta idea de Iván todo es posible. Por ahora mis ejemplos los sigo mostrando en un blog aparte pero tu idea me gusta ;)
(El significado de Banaka Banaka es muy gracioso Graciela, pero tiene más gracia cuando lo explica Iván)
Es para probar. Hay gustos para todos.
Vku: Sí, funcionará pero no estoy muy convencido de que sea razonable agregar varais librerías ya que eso implica aumentar la carga del sitio de manera importante. Todo depende, claro, hay que ver caso por caso.
Graciela: El pueblo pide a gritos una explicación del nombre :D
Gem@: Es cierto, depende de cada uno y sólo son herrameintas que se usan para algo, en este caso, el fin es más importante que el medio :D
Como dije antes, cargar varias librerías no es demasiado lógico y es preferible hacerlo en otro blog tal como lo muestras en el tuyo. El IFRAME funcionará si se trata de pequeñas cosas como en este caso. Me pareció más cómodo que mostrarlo en otra ventana.
Yo tampoco podía creerlo, Gem@... ¡¡jQuery en Vagabundia!!
Y además me gusta mucho el menú... poco código y muy resultón ;)
Vaaale.. habrá explicación de qué significa BanakaBanaka... es en euskera, sólo digo eso por ahora ;) el resto, ya lo pondré en mi blog jajaja!!
Un abrazo a tod@s!!
★Iván.
Soy una persona multifacética, Iván. Tengo muchas caras ... todas horribles :D
Hiciste una reunión privada con Pizcos o que!!!!!!1 jajajjaa mirsh nuevecito con Jquery y llegas con un menu muy mono ^_^ me encanta!
pd: no creo que sean todas horribles, la visible no lo es ;)
besos ronroneados ^_^
Pues ami me gustaria que pusieras algunas alternativas de menus como este pero en script.aculo.us, ya que eso de los frames no me va muy bien.
Te lo agradeceria mil si colocas algunos ya que se ven muy bien y dan una apariencia como si fueran en flash.
Sin mas que decir solo termino con esta frase.
Exelente
Dire en esta entrada que contigo aprendi a entender JavaScript, pero este código es poco entendible... una explicación de como trabaja?? O deberia ver JQuery primero?
espero tu explicación Iván :)
Hola Jmiur.
Para mi es esencial usar jquery. Tengo un blog de blogger y la mayoría de los efectos que estan en él son de jquery y enriquece mucho al blog. Si esta en tus posibilidades pasa a chequear lo que estoy usando y dame tu opinión.
www.parabolastecnologicas.com.ve
P.D Tu blog me ha ayudado mucho para hacer el mio! felicitaciones y muchas gracias!
Pau: Me alegro que te guste :) (hablo del menú) :D
Lagarto: No conozco una alternativa parecida, probablemente haya pero no la he visto.
egoloco: Pués sí, para entenderlo, deberías ver un poco cómo funciona JQuery y cómo es su sintaxis. Por el momento, es algo que me excede :$
Muy bueno JMiur....Gracias
¿Quiere dejar un comentario?
Hay varios métodos posibles.
Uno de ellos es el formulario de comentarios que tan generosamente nos ha regalado Blogger y que funciona sólo de tanto en tanto. Su uso es aconsejable sólo en caso de ser una de esas personas a las que les gustan los retos y los desafíos.
¿No quiere arriesgarse? Haga click para ocultarlo y utilice las otras opciones.
Todos los archivos y demos alojados en Fileden han sido redireccionados y deberían estar funcionando correctamente.
De todos modos, también puede accederse a ellos a través de SkyDrive
Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.
Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...
Los comentarios están siendo moderados y serán publicados a la brevedad.