Foros del Web » Programando para Internet » Javascript »

menu vertical 3 niveles

Estas en el tema de menu vertical 3 niveles en el foro de Javascript en Foros del Web. buenos dias He estado buscando y no he conseguido encontrar ninguna solucion q se ajuste al problema q tengo. He de hacer un menu vertical ...
  #1 (permalink)  
Antiguo 17/05/2010, 00:52
 
Fecha de Ingreso: agosto-2007
Mensajes: 57
Antigüedad: 17 años, 3 meses
Puntos: 0
menu vertical 3 niveles

buenos dias

He estado buscando y no he conseguido encontrar ninguna solucion q se ajuste al problema q tengo.

He de hacer un menu vertical con 3 niveles. una cosa asi:

opcion1
opcion 1.1
opcion 1.1.1
opcion 1.1.2
opcion 1.2
opcion 2
opcion 2.1
opcion 2.1.1
opcion 2.1.2

y asi sucesivamente. El menu sera dinamico y el 3er nivel no se deberia mostrar por defecto, solamente al clicar sobre su segundo nivel ( por ejemplo, opcion 1.1.1 y opcion 1.1.2 no deberian mostrarse por defecto, sino solo cuando se pulsara sobre opcion 1.1)

Agradeceria mucho algun tipo de solucion a este problema o muy cercana a esta.

Muchas gracias
  #2 (permalink)  
Antiguo 17/05/2010, 05:04
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: menu vertical 3 niveles

Hola

A ver si es esto lo que buscas

Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  5. <style type="text/css">
  6. .ocultar {display:none;}
  7. .mostrar {display:block;}
  8. .sel {color:#FF0000;}
  9. .nosel {color:#000000;}
  10. .selsub {color:#FFF555;}
  11. .noselsub {color:#000000;}
  12. </style>
  13. <script type="text/javascript">
  14. var visto_subm = null;
  15. var visto_color = null;
  16. function versubmenu(num) {
  17. objhl = document.getElementById(num);
  18. obj = document.getElementById("sub"+num);
  19.  
  20. obj.className = (obj==visto_subm) ? 'ocultar' : 'mostar';
  21. objhl.className = (objhl==visto_color) ? 'nosel' : 'sel';
  22.  
  23.     if ((visto_subm != null) && (visto_color != null)) {
  24.         visto_subm.className = 'ocultar';
  25.         visto_color.className = 'nosel';
  26.     }
  27. //alert (visto_subm + " - " + visto_color)
  28. //alert (obj + " - " + objhl)
  29. visto_subm = (obj==visto_subm) ? null : obj;
  30. visto_color = (obj==visto_color) ? null : objhl;
  31. }
  32.  
  33.  
  34. var visto_subsubm = null;
  35. var visto_colorSUB = null;
  36. function versubsubmenu(num) {
  37. objhl = document.getElementById(num);
  38. obj = document.getElementById(num + "sub");
  39. obj.className = (obj==visto_subsubm) ? 'ocultar' : 'mostar';
  40. objhl.className = (objhl==visto_colorSUB) ? 'noselsub' : 'selsub';
  41.  
  42.     if ((visto_subsubm != null) && (visto_colorSUB != null)) {
  43.         visto_subsubm.className = 'ocultar';
  44.         visto_colorSUB.className = 'noselsub';
  45.     }
  46.  
  47. visto_subsubm = (obj==visto_subsubm) ? null : obj;
  48. visto_colorSUB = (obj==visto_colorSUB) ? null : objhl;
  49. }
  50. </script>
  51. <head>
  52. </head>
  53. <body>
  54. <div id="0" class="nosel" onclick="versubmenu(this.id)" style="z-index:1;">MENU0</div>
  55. <div id="sub0" class="ocultar" style="z-index:1;">
  56. <div id="s00" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu0</div>
  57. <div id="s00sub" class="ocultar" style="z-index:1;">
  58. ++ SubsubMenu0.0<br />
  59. ++ SubsubMenu0.1<br />
  60. ++ SubsubMenu0.2
  61. </div>
  62. <div id="s01" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu1</div>
  63. <div id="s01sub" class="ocultar" style="z-index:1;">
  64. ++ SubsubMenu1.0<br />
  65. ++ SubsubMenu1.1
  66. </div>
  67. </div>
  68.  
  69.  
  70. <div id="1" class="nosel" onclick="versubmenu(this.id)" style="z-index:1;">MENU1</div>
  71. <div id="sub1" class="ocultar" style="z-index:1;">
  72. <div id="s10" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu0</div>
  73. <div id="s10sub" class="ocultar" style="z-index:1;">
  74. ++ SubsubMenu0.0<br />
  75. ++ SubsubMenu0.1<br />
  76. ++ SubsubMenu0.2
  77. </div>
  78. <div id="s11" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu1</div>
  79. <div id="s11sub" class="ocultar" style="z-index:1;">
  80. ++ SubsubMenu1.0<br />
  81. ++ SubsubMenu1.1
  82. </div>
  83. </div>
  84.  
  85.  
  86. <div id="2" class="nosel" onclick="versubmenu(this.id)" style="z-index:1;">MENU2</div>
  87. <div id="sub2" class="ocultar" style="z-index:1;">
  88. <div id="s20" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu0</div>
  89. <div id="s20sub" class="ocultar" style="z-index:1;">
  90. ++ SubsubMenu0.0<br />
  91. ++ SubsubMenu0.1<br />
  92. ++ SubsubMenu0.2
  93. </div>
  94. <div id="s21" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu1</div>
  95. <div id="s21sub" class="ocultar" style="z-index:1;">
  96. ++ SubsubMenu1.0<br />
  97. ++ SubsubMenu1.1
  98. </div>
  99. </div>
  100.  
  101.  
  102. <div id="3" class="nosel" onclick="versubmenu(this.id)" style="z-index:1;">MENU3</div>
  103. <div id="sub3" class="ocultar" style="z-index:1;">
  104. <div id="s30" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu0</div>
  105. <div id="s30sub" class="ocultar" style="z-index:1;">
  106. ++ SubsubMenu0.0<br />
  107. ++ SubsubMenu0.1<br />
  108. ++ SubsubMenu0.2
  109. </div>
  110. <div id="s31" class="nosel" onclick="versubsubmenu(this.id)" style="z-index:1;">+ SubMenu1</div>
  111. <div id="s31sub" class="ocultar" style="z-index:1;">
  112. ++ SubsubMenu1.0<br />
  113. ++ SubsubMenu1.1
  114. </div>
  115. </div>
  116.  
  117. </body>
  118. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: vertical
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:38.