Menú de la ficha de JavaScript/CSS con sub-navegación (3 / 4 paso)

Paso 3: JavaScript

Ahora pasemos al JavaScript que controlará el mostrar y ocultar nuestros artículos de menú. Queremos que los elementos en el submenú cambiar el clic del ratón, basado en que pestaña de padres se ha hecho clic.

En primer lugar, a empezar por escribir una función para ocultar todos los elementos de menú dentro de nuestro contenedor "subNav".

La siguiente función obtiene una lista de todos los elementos UL dentro el ID de subNav, luego recorre la lista y establece propiedad de visualización de cada elemento en 'ninguno'

 function hideItems() { var list = document.getElementById("subNav").getElementsByTagName("ul"); for(i=0;i<list.length;i++) { list[i].style.display="none"; }} 

Bien, ahora vamos a empezar a escribir la función para mostrar los elementos de submenú.

 function navMenu() { if (!document.getElementsByTagName){ return; } var anchors = document.getElementsByTagName('a'); 

La primera línea de nuestra función es un mecanismo de seguridad que simplemente indica al navegador que seguir el enlace si no soporta la función 'getElementsByTagName'.

La segunda línea, similar a la función anterior, obtiene una lista de todos los vínculos y los pone en un array llamado 'anclajes'

 for (var i=0; i<anchors.length; i++){ var anchor = anchors[i]; var relAttribute = String(anchor.getAttribute('rel')); 

Ahora empezamos a recorrer nuestro array 'anclas'. Aquí, coge el valor del atributo 'rel' para cada enlace como llegamos a él.

 if (relAttribute.toLowerCase().match('menutrigger')){ anchor.onclick = function() { 

Ahora comprobamos si ese valor de 'rel' (que almacena como 'relattribute') es igual a 'menutrigger' y por lo tanto, vamos a activar nuestro evento y haga clic.

 var nameAttribute = this.getAttribute('name') + "Nav"; var thismenu = document.getElementById(nameAttribute); hideItems(); thismenu.style.display="inline"; return false; } } }} 

En primer lugar, anexar el texto 'Nav' al final del atributo de nombre de enlace. Ahora nuestro nuevo valor nombreAtributo coincide con el nombre del menú de sub-nav que nos va afectar.

Entonces coge ese sub-menu y asignarlo a la variable 'thismenu'.

Ahora nos escondemos todos nuestros submenús anteriormente mostrados por llamar a la función 'hideItems()' que creamos anteriormente.

Entonces, nos establezca pantalla propiedad del actual sub-menú 'inline' para que sea visible.

Por último, Dile al navegador para que no siga el enlace del menú principal (que acaba) y cerrar todos nuestros soportes abiertos.

Artículos Relacionados

MBot interactivo con JavaScript

MBot interactivo con JavaScript

En este Instructable, construimos un mBot interactiva con JavaScript. Con marco de Johnny cinco, somos capaces de robótica programa con JavaScript. Se establecerá una interfaz web basada en Socket.io interactuar con mBot. Podemos reproducir sonidos d
Pop correa ficha con pestaña de cierre

Pop correa ficha con pestaña de cierre

actualización: cuando deje de sentir tan perezoso tomo algunas fotos mejor con mi nueva cámara.Recientemente se ha extendido la necesidad de reciclar para el mundo de la moda. Un tema popular con eco-fashionista es una representación visual del uso d
Sitio web (HTML y CSS)

Sitio web (HTML y CSS)

Hola a todos en instructables :)Recientemente he estado intentando hacer que algunos sitios web y host en línea simplemente ver cómo el HTML y CSS he aprendido elaborado por lo que podría hacer un completo sitio web derecho que ofrece y la revisión d
Drone con brazos de inclinación dinámica

Drone con brazos de inclinación dinámica

comencé este proyecto en el verano de 2015. Idea era crear drone con función de brazo móvil. Marco es acumulación de placas de carbono, separadores de aluminio y las impresiones 3D. Brazo son los tubos de carbono de 16mm. No quería utilizar ningún ma
Construcción de una escala de 1:1 Portal Gun con luces

Construcción de una escala de 1:1 Portal Gun con luces

Introducción:Este Instructable detallará el proceso pasaba por construir mi propio Dispositivo Handheld de Portal Aperture Science [AKA la "Portal Gun"] de los juegos de válvula Portal y Portal 2. Aunque la pistola de portales es el foco princip
Corte cualquier diseño complejo arbitrario con un cortador de arte

Corte cualquier diseño complejo arbitrario con un cortador de arte

actualización: wow, charlatán.  Resulta ProvoCraft (los creadores de la Cricut) demandó "Hacer la corte" y "que cortes mucho" para que ya no pueden vender sus productos para trabajar con la Cricut.Aquí están algunos productos de la com
Contar una historia con herramientas de visualización y los datos libremente disponibles.

Contar una historia con herramientas de visualización y los datos libremente disponibles.

Este Instructable le guiará a través de un tutorial paso a paso para desarrollar una visualización usando herramientas de código abierto y los datos disponibles al público. Fue escrito por Mark Falvo y Andrey Talman.Paso 1: Encontrar una historia que
Empezar con frambuesa Pi

Empezar con frambuesa Pi

Hola a todos. Bienvenidos a mi primer Instrucatble. Usted puede estarse preguntando "Quiero un Raspberrry Pi, pero no sé cómo empezar". Si alguna vez han preguntado este pensamiento, que esto es el Instrucatble correcto para usted. En esta guía
¿Cómo crear contenido con pestañas de una manera más fácil?

¿Cómo crear contenido con pestañas de una manera más fácil?

a través de este vídeo tutorial, te enseñaremos cómo crear CSS puro fichas contenido en una forma más fácil y permitir que usted para descargar gratis la demo editar y utilizar para tu propio sitio Web/Página Web.Opcional: Para saber más acerca de có
Modelo de Steve de Minecraft! con pecho doble bono!

Modelo de Steve de Minecraft! con pecho doble bono!

Mi hermanito es un gran fan de Minecraft y se acerca la Navidad, así que pensé que en vez de comprar un Minecraft relacionados con el presente, ¿por qué no hacer le un regalo Minecraft? Mi respuesta fue hacer un modelo de Steve!Este modelo es bastant
Hacer un juego de ajedrez y juego de mesa con un cajón de almacenamiento

Hacer un juego de ajedrez y juego de mesa con un cajón de almacenamiento

Este es un regalo de cumpleaños que hice para una persona este año. Es mi primera vez haciendo cualquier tipo de madera, pero con poco de práctica puedes conseguirlo muy rápidamente. Algunas de las principales características de este sistema de ajedr
Cómo no construir un barco Pop Pop con válvula

Cómo no construir un barco Pop Pop con válvula

el problemaLos barcos Pop-pop son notoriamente ineficientes por muchas razones pero el problema principal es la acción por la que se mueve hacia adelante.El ExplicaciónDe escapeCuando el motor aparece lo arroja a chorros de agua de los gases de escap
X-Men traje y guantes de energía

X-Men traje y guantes de energía

Hola a todos!Recientemente había rediseñado mi cosplay de aumento de X-Men (serie de la tierra-616) y quería compartir algunas de mis técnicas. Este personaje no es comúnmente representado en la comunidad cómica o cosplay y todavía ella desempeñó un
Lámpara con temporizador y regulador de luz

Lámpara con temporizador y regulador de luz

este es uno de los circuitos más básicos del 555. Este circuito es parte de esta fichas hoja de datos, con las matemáticas necesarias para el diseño de especificaciones y es una de las razones de un 555 se conoce como un temporizador.Se trata de un c