Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

355
Visualizações
¿Cómo creo un archivo .js que crea una barra de navegación en html?

Bien, estoy creando este sitio y quiero que cada página tenga una barra de navegación, ¿cómo hago para que en lugar de tener que escribir el html para la barra de navegación en cada página, simplemente escriba en el archivo .js y agregue este archivo javascript a cada página.

Por cierto, no estoy preguntando cómo escribir una barra de navegación en html, ya lo hice.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede usar .insertAdjacentHTML y pasar 'afterbegin' como el "dónde" para agregar el html . En este ejemplo, se agrega como el primer elemento del cuerpo.

 const header= "<div>This is my nav</div>" document.querySelector("body").insertAdjacentHTML("afterbegin", header);
 <body> <div> Content of page <div> </body>

Edite para agregar enlaces, puede hacer algo como:

  • agregue etiquetas de anclaje <a> a cada enlace de su navegación
  • obtenga el nombre de ruta de la url window.location.pathname
  • consulta el DOM para [href='${path}'] (donde la ruta es el nombre de la ruta)
  • agregue la clase (en este caso active ) para reflejar la página actual
  • estilo clase activa apropiadamente

NOTA: el nombre de ruta de la ventana actual (ventana de fragmento de stackoverflow) es /js , por lo que para este ejemplo lo usé como el href del segundo enlace de navegación.

NOTA TAMBIÉN: asumo que todos sus archivos html están en el mismo directorio

 //get the pathname from the current url const path = window.location.pathname const header= ` <ul class="nav"> <li><a href="/home">Home</a></li> <li><a href="/js">Javascript</a></li> </ul>` document.querySelector("body").insertAdjacentHTML("afterbegin", header); //add the active class to the anchor tag with the href === path document.querySelector(`[href='${path}']`).classList.add('active')
 .nav li{ display: inline-block; } .nav a{ text-decoration: none; color: black; } .nav .active{ text-decoration: underline; color: grey; }
 <body> <div> Content of page <div> </body>

about 4 years ago · Juan Pablo Isaza Relatório

0

Para eso, recomendaría que use una biblioteca de interfaz de usuario como React, que cuando se combina con React Router definitivamente le brindará un código mucho más limpio y una mejor experiencia de desarrollo en general.

Con eso en mente, sé que hay una curva de aprendizaje significativa para dominar nuevas bibliotecas/marcos, por lo que una forma de hacerlo usando HTML, CSS y JS estándar es pegando el código HTML para el encabezado en una variable e inyectándolo. usando algunos métodos DOM como .append o .insertAdjecentHTML en un elemento seleccionado (div, encabezado, cuerpo...).

about 4 years ago · Juan Pablo Isaza Relatório

0

Si su sitio contendrá principalmente contenido estático, le sugiero que busque un generador de sitios estáticos (SSG) como Jekyll, Hugo o Gatsby. Cuando comencé con el desarrollo web, usé Jekyll y era muy amigable para principiantes. Luego, puede vincular desde su barra de navegación a sus otras páginas normalmente.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda