Creé esta barra de navegación plegable usando Bootstrap 4 que funciona muy bien, pero me gustaría que se cierre cuando el usuario hace clic en un enlace. Alguna forma de hacer esto? Gracias
barra de navegación html:
<nav class="navbar navbar-toggleable-md fixed-top">
<button id="nav-btn"class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarDiv" aria-expanded="false" aria-label="Toggle navigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="container">
<a class="navbar-brand" href="#"><img src="Images/logo.png" width="60px"></a>
<div class="collapse navbar-collapse" id="navbarDiv">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#about-us">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#pricing">Pricing</a>
</li>
</ul>
</div>
</div>
</nav>
css para .icon-bar, ya que Bootstrap 4 no usa la clase icon-bar.
.navbar-toggler .icon-bar {
margin: 7px;
display: block;
width: 22px;
height: 1px;
background-color: #cccccc;
border-radius: 1px;
}
fuente
<span class="navbar-toggler-icon"></span>
para las barras de iconos en BS 4.navbar-inverse
en la barra de navegación para cambiar todos los colores del texto a blanco (o blanco transparente)data-toggle
ydata-target
en el elemento principal (li
); de lo contrario, scrollspy no funcionará. Quizás deberías editar tu respuesta. :)Estoy usando ANGULAR y dado que me dio problemas, el routerLink simplemente agregue el cambio de datos y el objetivo en la etiqueta li ... o use jquery como "ZimSystem"
fuente
data-toggle="collapse" data-target=".navbar-collapse.show"
a li, incluido el menú desplegable li.Puede llamar
$.collapse('hide');
con un controlador de eventos en los enlaces.fuente
Al probar las soluciones anteriores, me faltaba una solución para los conmutadores desplegables, ¡así que aquí tienes! También abre elementos de submenú.
Tal vez tengas que modificarlo un poco si tu clase de alternancia es diferente.
fuente
$(".navbar-nav li a:not('.dropdown-toggle')") .on('click', function () { $('.navbar-collapse').collapse('hide'); }
esta es la solución para cerrar el menú cuando haga clic en el ancla y luego aplique esta línea en el elemento de la lista
el ejemplo real que me funciona está abajo
fuente
Estoy usando Angular 5 con Boostrap 4. Me funciona de esta manera.
fuente
La forma más fácil de hacerlo usando solo la plantilla Angular 2/4 sin codificación:
fuente
Este código simula un clic en el botón burguer para cerrar la barra de navegación haciendo clic en un enlace en el menú, manteniendo el efecto de desvanecimiento. Solución con mecanografiado para angular 7. Evite problemas de routerLink.
fuente
Puedes usar un simple enlace al hacer clic y cerrar, como este:
(click)="drawer.close()
fuente