Foros del Web » Programando para Internet » Javascript »

menú deplegable con javascript

Estas en el tema de menú deplegable con javascript en el foro de Javascript en Foros del Web. hola a todos. os comento: estoy haciendo una página con un enlace en la cabecera. al darle al enlace, se me despliega un menú con ...
  #1 (permalink)  
Antiguo 15/09/2011, 06:17
Avatar de RafaRG  
Fecha de Ingreso: julio-2011
Ubicación: Córdoba, España
Mensajes: 124
Antigüedad: 12 años, 9 meses
Puntos: 13
Pregunta menú deplegable con javascript

hola a todos. os comento: estoy haciendo una página con un enlace en la cabecera. al darle al enlace, se me despliega un menú con varios enlaces dentro. este es el código que he usado:
Código PHP:
<!--EL SCRIPT-->
<
script
function 
OTROID(enla etik) { 
  
obj document.getElementById(etik); 
    
obj.style.display = (obj.style.display == 'block') ? 'none' 'block'
  
enla.innerHTML = (enla.innerHTML == '<img src="PNG/engranaje.png" width=30 height=30 style="margin:4px;position:fixed;top:0px;right:0px;">') ? '<img src="PNG/engranaje.png" width=30 height=30 style="margin:4px;position:fixed;top:0px;right:0px;">' '<img src="PNG/engranaje.png" width=30 height=30 style="margin:4px;position:fixed;top:0px;right:0px;">'

</script>
<!--EL HTML-->
<a href="#" onclick="OTROID(this,'ID'); return false"><img src="PNG/engranaje.png" width=30 height=30 style="margin:4px;position:fixed;top:0px;right:0px;"></a>
    <div id="ID" class="menúengranaje" style="display:none">
        <ul id="enlacesmenúengranaje">
        <li><a href="#">Configuración</a>
        <li><a href="#">Cambiar tema</a>
        <li><a href="#">Ayuda</a>
        </ul>
    </div>
<!--EL CSS-->
<style type="text/css">
.menúengranaje {
    position:fixed; top:40px; right:0%;
    background-color:rgba(0,0,0,0.2);
    border-radius:5px;
    padding:4px;
    }
#fondomenúengranaje {
    background-color:rgba(0,0,0,0.5);
    padding:5px;
    border-radius:5px;
    }
#enlacesmenúengranaje {
    margin:0px;
    margin-left:-40px;
    list-style:none;
    }
#enlacesmenúengranaje li {
    margin:auto;
    padding:0px;
    }
#enlacesmenúengranaje a {
    display:block;
    border:5px solid white;
    padding:5px;
    font-family:segoe ui;
    font-size:13px;
    background-color:white;
    }
#enlacesmenúengranaje a:hover {
    border:5px solid white;
    background-color:blue;
    color:white;
    }
</style> 
como veis, hay varias partes: script, html y css. el código funciona perfectamente. pero para hacer que el menú se oculte, tengo que volver a darle al enlace que lo muestra. mi pregunta es, ¿se puede modificar el código de alguna manera de modo que el menú se oculte haciendo click fuera del menú?
si queréis un ejemplo, google lo tiene. en la cabecera, a la derecha, hay un botón de un engranaje, que al clicar muestra un menú y si haces click en cualquier parte del resto de la página, se oculta el menú. yo quiero implementar eso mismo.
un saludo

Etiquetas: html, menú
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 01:12.