<!DOCTYPE html>
<html lang="es">
<head>
<meta ="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("div.menu_punto").hide();
$("p.menu_capitulo").click(function(){
$(this).next("div.menu_punto").slideDown(300)
.siblings("div.menu_punto").slideUp("slow");
});
});
</script>
<style>
divisiones
<div>,
cuya
clase
Pasemos ahora a la parte que se encarga de desplegar el submen cuando se pulsa uno de los
captulos.
<script>
$(document).ready(function(){
$("div.menu_punto").hide();
$("p.menu_capitulo").click(function(){
$(this).next("div.menu_punto").slideDown(300)
.siblings("div.menu_punto").slideUp("slow");
});
});
Detallemos esta parte:
$("p.menu_capitulo").click(function(){
Hacer
clic en
uno
de
los
prrafos
cuya
clase
es
menu_capitulo (de
manera
codificada $("p.menu_capitulo")), genera una funcin que se detallar en las siguientes lneas
(click(function()).
$(this).next("div.menu_punto").slideDown(300)
A partir de este elemento (this), el script busca el elemento <div> que le sigue y que tiene la
clase menu_punto(es decir, next("div.menu_punto")). Despus hacemos aparecer esta divisin con
un efecto de deslizamiento hacia abajo (slideDown(300)).
.siblings("div.menu_punto").slideUp("slow");
Hay que cerrar las divisiones abiertas de los otros captulos. Se pide a jQuery seleccionar los hermanos
inmediatos
(siblings)
de
cada
divisin
<div>
que
tenga
una
clase menu_punto(siblings("div.menu_punto")) y cerrar estas divisiones usando un efecto de
deslizamiento hacia arriba (slideUp("slow")).
Observe que se han codificado muchas acciones en una misma instruccin. Estas diferentes
operaciones se unen simplemente por un punto.
});
Para terminar esta funcin relativa a un clic en un prrafo.
});
Fin del ready y fin de script.
Observe cmo de conciso es el cdigo jQuery. Unas pocas lneas son suficientes para desarrollar este
script.
El archivo Html completo se presenta de la siguiente manera:
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>jQuery</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("div.menu_punto").hide();
$("p.menu_capitulo").click(function(){
$(this).next("div.menu_punto").slideDown(300)
.siblings("div.menu_punto").slideUp("slow");
});
});
</script>
<style>
body { margin: 10px;
font: 0.8em Arial, Helvetica, sans-serif;}