Foros del Web » Programando para Internet » Javascript »

Menu desplegable vertical

Estas en el tema de Menu desplegable vertical en el foro de Javascript en Foros del Web. Hola a todos, espero que me ayudeis por favor porque me estoy volviendo loca, tengo el código para poner un menu horizontal, que es el ...
  #1 (permalink)  
Antiguo 06/11/2010, 15:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 1
Menu desplegable vertical

Hola a todos, espero que me ayudeis por favor porque me estoy volviendo loca, tengo el código para poner un menu horizontal, que es el siguiente

Código Javascript:
Ver original
  1. function entradaMenu(defEntrada){
  2.     var enlace = document.createElement("a");
  3.     var hijoTexto = document.createTextNode(defEntrada[0]);
  4.     enlace.appendChild(hijoTexto);
  5.     if(defEntrada[1] == '1'){
  6.         // Creamos la imagen de la llave
  7.         var llave = document.createElement("img");
  8.         llave.setAttribute("src", "http://www");
  9.         llave.style.width = "16px";
  10.         llave.style.height = "7px";
  11.         llave.style.border="0px none";
  12.         enlace.appendChild(llave);
  13.     }
  14.    
  15.     if ('string' == typeof defEntrada[2]) {
  16.         enlace.setAttribute("href", defEntrada[2]);
  17.         //asignar al enlace la URL defEntrada[2]
  18.         this.enlace = defEntrada[2];
  19.     } else {
  20.         var subMenu = crearMenu(defEntrada[2]);
  21.         enlace.setAttribute("href", "#");
  22.         anadeOnClick(enlace, subMenu);
  23.     }
  24.     return enlace;
  25. }
  26.  
  27. function anadeOnClick(enlace, subMenu) {
  28.         enlace.onclick = function () {
  29.             mostrarMenu(enlace,subMenu);
  30.         }
  31. }
  32.  
  33. function mostrarMenu(enlace,subMenu){
  34.     var miTd = enlace.parentNode;
  35.     var miTr = miTd.parentNode;
  36.     while (miTd.nextSibling) {
  37.         miTr.removeChild(miTd.nextSibling);
  38.     }
  39.     miTr.appendChild(subMenu);
  40. }
  41.  
  42. function crearMenu(defMenu){
  43.     var miMenu = document.createElement("td");
  44.     miMenu.style.valign="top";
  45.     for(var i=0; i<defMenu.length; i++){
  46.         miMenu.appendChild(entradaMenu(defMenu[i]));
  47.         miMenu.appendChild(document.createElement("br"));
  48.     }
  49.     return miMenu;
  50. }
  51.  
  52. function inicializarMenu(defMenu, divMenu/*, prefijoEstilo*/) {
  53.     var tabla = document.createElement("table");
  54.     tabla.setAttribute("cellpaddind", 0);
  55.     tabla.setAttribute("cellspacing", 10);
  56.     var tbody = document.createElement("tbody");
  57.     var tr = document.createElement("tr");
  58.     tr.appendChild(crearMenu(defMenu/*, prefijoEstilo, nivel*/));
  59.     tbody.appendChild(tr);
  60.     tabla.appendChild(tbody);
  61.     document.getElementById(divMenu).appendChild(tabla);
  62. }


Tengo definido un defMenu del tipo
Código Javascript:
Ver original
  1. var dafMenu= [
  2.                    ["nombre" ,llave, [
  3.                                                  ["nombre1a",llave,enlace1a],
  4.                                                  ["nombre1b",llave,enlace2a],
  5.                                                  ["nombre1c",llave,enlace3a]
  6.                                  ]
  7.                     ]
  8.                      ["nombre2" ,llave, [
  9.                                                  ["nombre2a",llave,enlace1a],
  10.                                                  ["nombre2b",llave,enlace2a],
  11.                                                  ["nombre2c",llave,enlace3a]
  12.                                  ]
  13.                     ]
  14. ]



Lo que he consgeuido que me salga es lo siguientes:
nombre
nombre2

Si cliko en nombre por ejemplo me sale el menu a la derecha al estilo

Código Javascript:
Ver original
  1. [B]nombre       nombre1a
  2.                        nombre1b
  3.                        nombre1c
  4. nombre2
  5. [/B]


Y lo que quiero conseguir es q al clickar por ejemplo en nombre me salga debajo es decir:

nombre
nombre1a
nombre1b
nombre1c
nombre2


Y si se puede que cuando este seleccionado nombre por ejemplo ponerle algun estilo especial como seria?? Alguien me puede ayudar por favor? Gracias!!!
  #2 (permalink)  
Antiguo 07/11/2010, 09:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Menu desplegable vertical

Nadie me puede ayudar????
  #3 (permalink)  
Antiguo 08/11/2010, 02:17
 
Fecha de Ingreso: noviembre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Menu desplegable vertical

Cita:
Iniciado por yasmine27 Ver Mensaje
Hola a todos, espero que me ayudeis por favor porque me estoy volviendo loca, tengo el código para poner un menu horizontal, que es el siguiente

Código Javascript:
Ver original
  1. function entradaMenu(defEntrada){
  2.     var enlace = document.createElement("a");
  3.     var hijoTexto = document.createTextNode(defEntrada[0]);
  4.     enlace.appendChild(hijoTexto);
  5.     if(defEntrada[1] == '1'){
  6.         // Creamos la imagen de la llave
  7.         var llave = document.createElement("img");
  8.         llave.setAttribute("src", "http://www");
  9.         llave.style.width = "16px";
  10.         llave.style.height = "7px";
  11.         llave.style.border="0px none";
  12.         enlace.appendChild(llave);
  13.     }
  14.    
  15.     if ('string' == typeof defEntrada[2]) {
  16.         enlace.setAttribute("href", defEntrada[2]);
  17.         //asignar al enlace la URL defEntrada[2]
  18.         this.enlace = defEntrada[2];
  19.     } else {
  20.         var subMenu = crearMenu(defEntrada[2]);
  21.         enlace.setAttribute("href", "#");
  22.         anadeOnClick(enlace, subMenu);
  23.     }
  24.     return enlace;
  25. }
  26.  
  27. function anadeOnClick(enlace, subMenu) {
  28.         enlace.onclick = function () {
  29.             mostrarMenu(enlace,subMenu);
  30.         }
  31. }
  32.  
  33. function mostrarMenu(enlace,subMenu){
  34.     var miTd = enlace.parentNode;
  35.     var miTr = miTd.parentNode;
  36.     while (miTd.nextSibling) {
  37.         miTr.removeChild(miTd.nextSibling);
  38.     }
  39.     miTr.appendChild(subMenu);
  40. }
  41.  
  42. function crearMenu(defMenu){
  43.     var miMenu = document.createElement("td");
  44.     miMenu.style.valign="top";
  45.     for(var i=0; i<defMenu.length; i++){
  46.         miMenu.appendChild(entradaMenu(defMenu[i]));
  47.         miMenu.appendChild(document.createElement("br"));
  48.     }
  49.     return miMenu;
  50. }
  51.  
  52. function inicializarMenu(defMenu, divMenu/*, prefijoEstilo*/) {
  53.     var tabla = document.createElement("table");
  54.     tabla.setAttribute("cellpaddind", 0);
  55.     tabla.setAttribute("cellspacing", 10);
  56.     var tbody = document.createElement("tbody");
  57.     var tr = document.createElement("tr");
  58.     tr.appendChild(crearMenu(defMenu/*, prefijoEstilo, nivel*/));
  59.     tbody.appendChild(tr);
  60.     tabla.appendChild(tbody);
  61.     document.getElementById(divMenu).appendChild(tabla);
  62. }


Tengo definido un defMenu del tipo
Código Javascript:
Ver original
  1. var dafMenu= [
  2.                    ["nombre" ,llave, [
  3.                                                  ["nombre1a",llave,enlace1a],
  4.                                                  ["nombre1b",llave,enlace2a],
  5.                                                  ["nombre1c",llave,enlace3a]
  6.                                  ]
  7.                     ]
  8.                      ["nombre2" ,llave, [
  9.                                                  ["nombre2a",llave,enlace1a],
  10.                                                  ["nombre2b",llave,enlace2a],
  11.                                                  ["nombre2c",llave,enlace3a]
  12.                                  ]
  13.                     ]
  14. ]



Lo que he consgeuido que me salga es lo siguientes:
nombre
nombre2

Si cliko en nombre por ejemplo me sale el menu a la derecha al estilo

Código Javascript:
Ver original
  1. [B]nombre       nombre1a
  2.                        nombre1b
  3.                        nombre1c
  4. nombre2
  5. [/B]


Y lo que quiero conseguir es q al clickar por ejemplo en nombre me salga debajo es decir:

nombre
nombre1a
nombre1b
nombre1c
nombre2


Y si se puede que cuando este seleccionado nombre por ejemplo ponerle algun estilo especial como seria?? Alguien me puede ayudar por favor? Gracias!!!

Etiquetas: desplegable, 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 02:20.