Temas > Programacion > Java script - Java > Menu desplegable en jQuery
Julio

Menú desplegable
Confeccionaremos una página que muestre un menú 
desplegable utilizando listas.
pagina1.html
<?php //esto no va
 <html>
 <head>
 <title>Problema</title>
 <link rel="StyleSheet" href="estilos.css" type="text/css">
 <script type="text/javascript" src="../jquery.js"></script>
 <script type="text/javascript" src="funciones.js"></script>
 </head>
 <body>
 <div id="menu">
 <ul>
 <li><a href="http://www.google.com.ar">Google</a></li>
 <li><a class="imagen" href="#">Periódicos</a>
 <ul>
 <li><a href="http://www.lanacion.com.ar">La Nación</A></li>
 <li><a href="http://www.clarin.com.ar">El Clarín</A></li>
 <li><a href="http://www.lavoz.com.ar">La Voz</a></li>
 </ul>
 </li>
 <li><a class="imagen" href="#">Lenguajes</a>
 <ul>
 <li><a href="http://www.php.net">PHP</a></li>
 <li><a href="http://www.rubyonrails.org">Ruby on
 rails</a></li>
 <li><a href="http://www.python.org">Python</a></li>
 </ul>
 </li>
 <li><a href="http://www.msn.com">MSN</a></li>
 </ul>
 </div>
 </body>
 </html>
?>//esto no va
estilos.css
<?php //esto no va
 #menu {
   font-family: Arial;
   margin:0px;
   padding:0px;
 }
 #menu ul {
   margin:0px;
   padding:0px;
   list-style-type:none;
 }
 #menu a {
   display: block;
   padding: 3px;
   width: 160px;
   background-color: #f7f8e8;
   border-bottom: 1px solid #eee;
   text-align:center;
 }
 .imagen {
   background-image:url(../triangulo.jpg);
   background-position:top left;
   background-repeat:no-repeat;
 }
 #menu a:link, #menu a:visited {
   color: #f00;
   text-decoration: none;
 }
 #menu a:hover {
   background-color: #369;
   color: #fff;
 }
 #menu li ul li a{
   display: block;
    padding: 3px;
    width: 160px;
    background-color: #ffa;
    border-bottom: 1px solid #eee;
    text-align:center;
 }
 ul li ul a:link, ul li ul a:visited {
    color: #000;
    text-decoration: none;
 }
 ul li ul a:hover {
    background-color: #369;
    color: #fff;
 }
?>//esto no va
funciones.js
<?php //esto no va
 $(document).ready(function() {
    $("#menu").children().children("li").each(function () {
      if ($(this).find("ul").size()!=0)
           $(this).find("ul").hide();
    });
    $("a").click(function(e) {
           if ($(this).parent().find("ul").size()!=0)
           {
             if ($(this).parent().find("ul").css("display")=="none")
               $(this).parent().find("ul").show();
             else
               $(this).parent().find("ul").hide();
           }
    })
 })
?>//esto no va
Obtenemos la referencia del elemento "ul" hijo del 
elemento con id=#menu, seguidamente obtenemos la referencia 
de todos los elementos "li" hijos que dependen directamente del 
"ul" e iteramos con el método each:
<?php //esto no va
   $("#menu").children().children("li").each(function () {
Dentro de la función de iteración obtenemos la referencia 
de todos los elemento "ul" que tienen elementos hijo 
(es decir submenú) y procedemos a ocultar dichos "ul":
     if ($(this).find("ul").size()!=0)
          $(this).find("ul").hide();
?>//esto no va
Cuando se hace click sobre algún elemento "a", verificamos si 
el elemento padre tiene elementos "ul" y procedemos a ocultar 
o mostrar el submenú según el valor de la propiedad display:
<?php //esto no va
   $("a").click(function(e) {
   if ($(this).parent().find("ul").size()!=0)
   {
       if ($(this).parent().find("ul").css("display")=="none")
          $(this).parent().find("ul").show();
       else
          $(this).parent().find("ul").hide();
   }
})
?>//esto no va













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
    123
45678910
11121314151617
181920 21222324
252627282930 

Jueves 21 de Noviembre 2024
Semana 47

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal