menu()
Publicado por can3va (1 intervención) el 09/03/2006 11:26:19
Os situo:
Estamos en un menu desplegable en árbol, al hacer click en cualquiera de las secciones el menú se despliega una subsección mediante el siguinte script:
function menu(opt)
{
modo=document.getElementById(opt).style.display
if (modo=='inline'){
document.getElementById(opt).style.display='none';
}
else{
document.getElementById(opt).style.display='inline';
}
}
El problema es que si por ejemplo tenemos el menu así:
Menu:
- Sección1
- Sección2
- Sección3
Y clickeamos en Sección1 tendríamos:
Menu:
- Sección1
-----Subsección1.1
-----Subsección1.2
- Sección2
- Sección3
Y si clickeamos en Sección2 tendríamops:
Menu:
- Sección1
-----Subsección1.1
-----Subsección1.2
- Sección2
-----Subsección2.1
-----Subsección2.2
- Sección3
Y lo que quiero es que se oculten las subsecciones abiertas una vez que pinchas en otra sección es decir que quedara así al pinchar en Sección2:
Menu:
- Sección1 (Se ha ocultado las subsecciones)
- Sección2
-----Subsección2.1
-----Subsección2.2
- Sección3
La única manera mediante la cual he conseguido esto es llamando a la función varias veces desde el mismo evento con ids diferentes, por ejemoplo para que al pinchar en Sección2 se desplieguen las subsecciones2.1 y 2.2 y se oculte las subsecciones1.1 y 1.2 bastaría con llamar a menu(seccion2) y menu(seccion1) pero claro, esto tiene el inconveniente de que tiens que estar metiendo en cada evento todos los identificadores de cada subseccion y me gustaría poder encontrar una manera de tal forma que quedara así el scrip:
Si el evento se ha producido en el objeto Seccion1 despliega sus subsecciones y repliega cualquier otro objeto que no sea seccion1.
La duda está en que no se como identificar mediante javascript a "cualquier otro objeto(id)" que no sea el que llama a la función, en este caso la id=seccion1.
Estamos en un menu desplegable en árbol, al hacer click en cualquiera de las secciones el menú se despliega una subsección mediante el siguinte script:
function menu(opt)
{
modo=document.getElementById(opt).style.display
if (modo=='inline'){
document.getElementById(opt).style.display='none';
}
else{
document.getElementById(opt).style.display='inline';
}
}
El problema es que si por ejemplo tenemos el menu así:
Menu:
- Sección1
- Sección2
- Sección3
Y clickeamos en Sección1 tendríamos:
Menu:
- Sección1
-----Subsección1.1
-----Subsección1.2
- Sección2
- Sección3
Y si clickeamos en Sección2 tendríamops:
Menu:
- Sección1
-----Subsección1.1
-----Subsección1.2
- Sección2
-----Subsección2.1
-----Subsección2.2
- Sección3
Y lo que quiero es que se oculten las subsecciones abiertas una vez que pinchas en otra sección es decir que quedara así al pinchar en Sección2:
Menu:
- Sección1 (Se ha ocultado las subsecciones)
- Sección2
-----Subsección2.1
-----Subsección2.2
- Sección3
La única manera mediante la cual he conseguido esto es llamando a la función varias veces desde el mismo evento con ids diferentes, por ejemoplo para que al pinchar en Sección2 se desplieguen las subsecciones2.1 y 2.2 y se oculte las subsecciones1.1 y 1.2 bastaría con llamar a menu(seccion2) y menu(seccion1) pero claro, esto tiene el inconveniente de que tiens que estar metiendo en cada evento todos los identificadores de cada subseccion y me gustaría poder encontrar una manera de tal forma que quedara así el scrip:
Si el evento se ha producido en el objeto Seccion1 despliega sus subsecciones y repliega cualquier otro objeto que no sea seccion1.
La duda está en que no se como identificar mediante javascript a "cualquier otro objeto(id)" que no sea el que llama a la función, en este caso la id=seccion1.
Valora esta pregunta


0