Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problema con menú dinámico

Estas en el tema de problema con menú dinámico en el foro de Frameworks JS en Foros del Web. Hola, escribo para plantear un problema con un script que estoy desarrollando... Es un menú dinámico. La cuestión es que yo ya lo cree, ya ...
  #1 (permalink)  
Antiguo 12/04/2009, 22:45
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 4
problema con menú dinámico

Hola, escribo para plantear un problema con un script que estoy desarrollando... Es un menú dinámico.
La cuestión es que yo ya lo cree, ya pude hacer que cada uno de los elementos de primera linea (al hacer click sobre ellos) mostrara inamicamente los elementos que este contiene. Ahora el problema está en que yo quiero que al hacer click sobre algun otro elemento de primera linea produjera que si ya hay algun elemento desplegado primeramente este se cerrara y posteriormente se desplegara el nuevo.
Se que es una consulta complicada... si no lo fuera no hubiera necesitado ayuda :P

Para cerrar los sub-elementos yo habia pensado en pararme sobre su elemento padre y eliminarlos mediante removeElement pero al tratar de acceder a este me dice que el objeto no esta definido.
Esto todavia se pone más extraño... porque al pedirle mediante un "alert()" la cantidad de hijos que posee el elemento padre el numero me lo da, y no solo me lo da, sino que me lo da bién :S

Ya no se que hacer... esto me está traumando

Aqui va el código relebante:
Código:
if(nodoPadre == undefined){
  /*el emento nodoPadre representa a al elemento que se ha clickeado*/
  /*si no esta definido significa que no se ha clickeado aun en ningun elemento*/
}else{for(i in nodoPadre.childNodes){/*acá me dice que el objeto nodoPadre no esta definido*/
    nodoPadre.removeChild(i)
  }
}
Desde ya gracias de ante mano... Saludos...
  #2 (permalink)  
Antiguo 13/04/2009, 12:30
 
Fecha de Ingreso: junio-2007
Mensajes: 189
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: problema con menú dinámico

Podrias hacer 2 cosas.

1º: Con una variable, indicar que menu esta activo, y asi cerrarlo antes de abrir el nuevo
2º: Cerrar todos los menus (aunque ya estean cerrados) y abrir el nuevo
  #3 (permalink)  
Antiguo 13/04/2009, 13:23
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años
Puntos: 4
Respuesta: problema con menú dinámico

Bueno básicamente lo que hago es lo que mensionas en la primera opción...

Pongo el código de nuevo (esta vez bién y completo) ya que la última vez estaba en un cyber y no lo tenía a mano...

Código:
var nodoPadre = "";
function articulos(rubro){
  if(nodoPadre == ""){
    nodoPadre = rubro; /*rubro es un argumento que pasa el elemento clickeado con "this" */
    rubroElegido = document.getElementById(rubro.id);
    rubroBandera = true;
    valida();
  }else{ /*Acá es donde viene el error*/
    /*Si hago un alert(nodoPadre.childNodes.length) el número de elementos hijos es correcto*/
    /*pero al intentar eliminar los nodos hijos me dice que nodoPadre no esta definido :S*/
    var numeroNodos = nodoPadre.childNodes.length
    for(var i = 1; i <= numeroNodos; i++){
      nodoPadre.removeChild(i)
    }
    nodoPadre = rubro;
    rubroElegido = document.getElementById(rubro.id);
    rubroBandera = true;
    valida();
  }
}
Por cierto, al script lo estoy probando en IE 6 quizas pueda ser eso... el gran problema es que debido a que no dispongo de mi maq para programar estoy escribiendo el script en un pentium 200 y no se banca ni a palos FF...
Si alguien sabe como puedo hacer andar esto estaré muy agradecido

Saludos
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 14:33.