Foros del Web » Programando para Internet » Javascript »

eventos

Estas en el tema de eventos en el foro de Javascript en Foros del Web. hola, quisiera crear un evento en el menu de navegación en que al hacer click en la navegacion, esta cambiara el fondo de color. con ...
  #1 (permalink)  
Antiguo 19/12/2012, 13:32
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación eventos

hola, quisiera crear un evento en el menu de navegación en que al hacer click en la navegacion, esta cambiara el fondo de color.
con onclick lo consigo pero momentaneamente solo ese momento pero no se queda con ese color y no se si se debiera crear condiciones o algo similar; me podrias ayudar? saludos..
este es el evento que he creado pero el color de fondo no es permanente...

<li onclick="this.style.backgroundColor='white';"> <a href="quienes_somos.html">Quienes Somos</a></li>
  #2 (permalink)  
Antiguo 19/12/2012, 13:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: eventos

El problema es que la página se recarga al seguir el enlace, serviría si usas Ajax para cargar el enlace. Si usas algún lenguaje de servidor también es posible desde allí (aunque parece que no usas)

En último caso (no es lo más práctico) podrías verificar con Javascript la URL al iniciar la página y de acuerdo a eso cambiar el color del menú correspondiente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/12/2012, 13:48
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: eventos

debo de hacerlo con javascript; entonces para verificar la página como se haría?
  #4 (permalink)  
Antiguo 19/12/2012, 14:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: eventos

Así, básicamente:
Código HTML:
Ver original
  1. <li id="quienes_somos"><a href="quienes_somos.html">Quienes Somos</a><li>
Código Javascript:
Ver original
  1. onload = function() {
  2.     if (location.href.indexOf("quienes_somos.html") > -1) {
  3.         document.getElementById("quienes_somos").style.backgroundColor = "white";
  4.     }
  5. }
Es solo un ejemplo para que te hagas la idea, con varios enlaces podrías hacer un bucle que recorra todos los <li> y compare con la URL, o algo semejante.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 19/12/2012, 14:19
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: eventos

que quiere decir esta condición:?

if (location.href.indexOf("quienes_somos.html") > -1)
  #6 (permalink)  
Antiguo 19/12/2012, 14:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: eventos

location.href es la URL de la página, indexOf busca el texto especificado en la cadena y devuelve la posición, si no encuentra devuelve -1

http://www.w3schools.com/jsref/prop_loc_href.asp
http://www.w3schools.com/jsref/jsref_indexof.asp
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 20/12/2012, 05:44
 
Fecha de Ingreso: noviembre-2012
Ubicación: Monzón
Mensajes: 157
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: eventos

he puesto la sentencia igual como la indicaste pero no se produce dicho evento; me puedes indicar si tengo que modificar dicha sentencia con datos propios y en que parte del código?. saludos

Etiquetas: eventos, html
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 20:23.