Comunidad de diseño web y desarrollo en internet online

javascript : menu vertical

Citar            
MensajeEscrito el 15 Jul 2008 03:17 pm
hola cristaleros...

tengo el siguiente código:

Código :

function Visual (obj) 
{
   if (document.getElementById(obj).style.display=='none') 
   {
      document.getElementById(obj).style.display=''; 
   }
   else
      {document.getElementById(obj).style.display='none';}   
   }

function Ver (obj) 
{
   if (document.getElementById(obj).style.display=='none') 
   {
      document.getElementById(obj).style.display=''; 
   }
}

function NoVer (obj) 
{
   if (document.getElementById(obj).style.display=='') 
   {
      document.getElementById(obj).style.display='none'; 
   }
}

function OcultarTodo(num)
{
   for (i=0;i<num;i++) {
      obj = 'seccion'+i;
      NoVer(eval("'"+obj+"'"));
   }

}

function OcultarTodoUnidad(num)
{
   for (i=20;i<num;i++) {
      obj = 'seccion'+i;
      NoVer(eval("'"+obj+"'"));
   }

}


Lo que hace es al hacer clic sobre el link despliega hacia abajo el contenido de ese link, y al hacer clic en otro link contenedor cierra el primero y se abre.

Lo que estoy necesitando, porque no sé nada de JS, es agregarle la función para que al hacer clic nuevamente en el mismo link que está abierto lo cierre. Tengo el siguiente codigo que hace eso, pero no supe cómo implementarlo junto al anterior:

Código :

function show(id) {
         document.getElementById('_'+id).style.display = 'block';   
       document.getElementById('link'+id).href = 'javascript:hide('+id+')'; 
}
function hide(id) {
         document.getElementById('_'+id).style.display = 'none';
       document.getElementById('link'+id).href = 'javascript:show('+id+')';
}


Saludos y garcias!!!!!
Emiliano

Por boratlon

Claber

139 de clabLevel



 

msie7
Citar            
MensajeEscrito el 15 Jul 2008 11:47 pm
No me gusta copypastear códigos que no se conocen... y menos aún, que la gente los use sin conocer cómo funcionan.
Te aconsejo empieces a ponerte con el JavaScript (hoy día, es casi imprescindible).
Además, las funciones que usas, no son nada bonitas... y son algo (bastante) redundantes...

Para menús desplegables, te aconsejo releas este manual... Es lo mejor que he visto... y muy sencillo.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 16 Jul 2008 03:50 pm
Hola Rizome,

gracias por el manual, eso ya lo conocía y lo había aplicado, pero lamentablemte hay máquinas viejas que no responden ante esos códigos y tuve que optar por el JS, la verdad que prefiero no depender de ningun JS, pero bueno.

Igualmente si podés responder a mi duda te o agradecería. O si tenés una función que sirva para lo que quiero hacer.

Abrazo.
Emiliano

Por boratlon

Claber

139 de clabLevel



 

msie7
Citar            
MensajeEscrito el 16 Jul 2008 03:59 pm

boratlon escribió:

[...] gracias por el manual, eso ya lo conocía y lo había aplicado, pero lamentablemte hay máquinas viejas que no responden ante esos códigos [...]
Ehm...
La guía que te indiqué, ofrece un ejemplo que funciona incluso en IE5 (más antiguo que eso, no vas a encontrar)

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.