Foros del Web » Programando para Internet » Javascript »

Menú desplegable algo distinto

Estas en el tema de Menú desplegable algo distinto en el foro de Javascript en Foros del Web. Quería saber como se hace un menú desplegable de la siguiente manera: salen las secciones una debajo de otra, pero al dar a una de ...
  #1 (permalink)  
Antiguo 03/02/2006, 14:27
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 19 años, 3 meses
Puntos: 1
Menú desplegable algo distinto

Quería saber como se hace un menú desplegable de la siguiente manera:

salen las secciones una debajo de otra, pero al dar a una de ellas todas las que tiene debajo se desplazan más abajo, y en ese espacio que quedan se colocan sub-secciones. ¿Me entienden?

Ejemplo:

Opción A
Opción B
Opción C
Opción D

Ahora seleccionamos la B por ejemplo y quedaría así:

Opción A
Opción B
-- Opción B1
-- Opción B2
-- Opción B3
Opción C
Opción D

Así, entienden?? Un saludo y muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 03/02/2006, 23:45
Avatar de levhita  
Fecha de Ingreso: febrero-2006
Ubicación: Guadalajara, México
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
yo he usado algo como esto:

Me hago unos scripts que pueden esconder y mostrar elementos asumiendo que el id sea único.

Código:
<script type="text/javascript">
<!--
var browserType;
if (document.layers) {browserType = "nn4"}
if (document.all) {browserType = "ie"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}

function show(what) {
  if (browserType == "gecko" )
     document.poppedLayer = eval('document.getElementById(\''+what+'\')');
  else if (browserType == "ie")
     document.poppedLayer = eval('document.all[\''+what+'\']');
  else
     document.poppedLayer = eval('document.layers[\''+what+'\']');
  document.poppedLayer.style.display = "block";
}

function hide(what) {
  if (browserType == "gecko" )
     document.poppedLayer = eval('document.getElementById(\''+what+'\')');
  else if (browserType == "ie")
     document.poppedLayer = eval('document.all[\''+what+'\']');
  else
     document.poppedLayer = eval('document.layers[\''+what+'\']');
  document.poppedLayer.style.display = "none";
}
//-->
</script>
Y en el código hago algo como esto:

Código HTML:
<li><a href="javascript:show('cat1');">Categoría 1</a></li>
  <div id="cat1" style="display:none;">
    <!--  lista de sub enlaces-->
  </div> 
Sólo hay que extender el concepto a toda la lista.
__________________
"La libertad viene en paquetes pequeños, usualmente TCP/IP"
http://blog.levhita.net/

Última edición por levhita; 03/02/2006 a las 23:57
  #3 (permalink)  
Antiguo 04/02/2006, 03:34
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tema trasladado desde CSS
  #4 (permalink)  
Antiguo 05/02/2006, 12:02
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 19 años, 3 meses
Puntos: 1
Muchas gracias, todo perfecto ;)
  #5 (permalink)  
Antiguo 05/02/2006, 12:19
 
Fecha de Ingreso: enero-2005
Mensajes: 150
Antigüedad: 19 años, 3 meses
Puntos: 1
Bueno no, me falta una cosa.
A la hora de esconderlas, como hago para que al pinchar en una sección, me cierre todas las demás secciones???
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 03:59.