Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/08/2013, 05:49
Checho360
 
Fecha de Ingreso: marzo-2011
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Duda al desplegar un menú

Bueno finalmente lo solucioné. Según entiendo yo, cada vez que se llama a la función querySelectorAll() es como si de alguna forma seleccionara el elemento o lo clickeara, por lo que llama a la función replegar o desplegar. Para solucionarlo simplemente llamo a la función dentro de la propio función desplegar o replegar, de manera que no cambia el valor antes de la acción.


De todo esto deduzco que no entiendo nada bien como funciona realmente ese método (querySelectorAll()), entonces si alguien me pudiera ayudar explicándolo y diciéndome como funciona realmente se lo agradecería.

Muchsimas gracias. El codigo que funciona sería:

Código Javascript:
Ver original
  1. addEventListener ("load", probando);
  2.  
  3. function probando (){
  4.    
  5.     var nav1 = document.querySelectorAll("#barra_navegacion li");
  6.    
  7.     nav1[1].addEventListener ("mouseon", despliega () );
  8.     nav1[1].addEventListener ("mouseout", repliega () );
  9.    
  10.     function despliega (){
  11.        
  12.        document.querySelectorAll("#barra_navegacion_prueba")[0].style.visibility = "visible";
  13.        
  14.     }
  15.    
  16.     function repliega (){
  17.        
  18.         document.querySelectorAll("#barra_navegacion_prueba")[0].style.visibility = "hidden";
  19.        
  20.     }
  21.    
  22. }

Es decir, si en vez de llamar a la función repliega y despliega sin argumentos y luego buscando el elemento que tenga el id barra_navegación_prueba dentro de ellas, llamo a las funciones pasandoles como argumento la búsqueda del id barra_navegacion_prueba (es decir busco fuera de esas funciones) ya no funciona.

No se si me explico muy bien... jaja saludos!!!!!!!!! y graciasss