Foros del Web » Programando para Internet » Javascript »

menu que deje marcada la opcion elejida

Estas en el tema de menu que deje marcada la opcion elejida en el foro de Javascript en Foros del Web. Hola a todos... Alguien me poria orientar sobre algun menu vertical que mantenga marcado (con color por ejemplo) la opcion seleccionada??????. quiero usar 2 marcos ...
  #1 (permalink)  
Antiguo 24/03/2006, 19:08
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 18 años, 7 meses
Puntos: 0
Información menu que deje marcada la opcion elejida

Hola a todos...

Alguien me poria orientar sobre algun menu vertical que mantenga marcado (con color por ejemplo) la opcion seleccionada??????.

quiero usar 2 marcos (frames) en el izquierdo el menu y quiero trabajar en el resultado desplegado en otro frame (derecho), pero que en el menu (frame izquierdo) se siga viendo marcada la opcion que seleccione....
  #2 (permalink)  
Antiguo 25/03/2006, 22:28
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
podrías cambiar el color del elemento elegido usando el evento onclick (y volver a la normalidad cualquier elemento elegido antes), supongo que eso bastaría.

Yo haría lo siguiente:

Dado que estás usando marcos, quizás los enlaces que componen el menú sean todos los enlaces que haya en la página, por lo que podés usar getElementsByTagName para seleccionar todos los enlaces.
Luego recorrés con for la matriz creada por getElementsByTagName, y en cada iteración le ponés el fondo al elemento usando style.backgroundColor

Si hay otro tipo de enlaces que no pertenecen al menú, pos lo que hacés es seleccionar todos los enlaces y usar if (o switch) dentro del for para seleccionar solamente los enlaces que pertenezcan a cierta clase (que definirás para los elementos del menú).

Y como último paso, le cambiás solo al enlace activado el color de fondo.


El código sería entonces:
Código:
function vuelveALaNormalidad() {
 var enlaces = document.getElementsByTagName("a");
 var i;

 for (i = 0; i <= enlaces.lenght ; i++) {
  if (enlaces[i].class == "menu") {
   enlaces[i].style.backgroundColor = "el color que quieras";
   }
  }
 }


function cambia_fondo(elemento) {
 elemento.style.backgroundColor = "color seleccionado";
 }
Saludos.
  #3 (permalink)  
Antiguo 26/03/2006, 02:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Un par de apuntes sobre lo que puso alvlin (¡Hola !)
Yo lo haría como él pone.

for (i = 0; i < enlaces.length ; i++) {
// length (no lenght)
// i < length (si se pone <= se pasa del rango

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 26/03/2006, 12:28
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
tenés razón caricatos, se pasaría de rango.
Y el error en la palabra viene de mi casi nula experiencia con javascript (me doy mejor con php, pero como las sintaxis son parecidas, pos me tiro a cualquier cosa )


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 10:43.