Problème :
Vous avez une barre de navigation Bootstrap qui s'effondre sur les appareils mobiles , mais vous souhaitez qu'il se ferme lorsque les utilisateurs cliquent sur liens.
Solution :
Bootstrap 5 (bêta)
const navLinks = document.querySelectorAll('.nav-item') const menuToggle = document.getElementById('navbarSupportedContent') const bsCollapse = bootstrap.Collapse.getOrCreateInstance(menuToggle, {toggle: false}) navLinks.forEach((l) => { if (menuToggle.classList.contains('show')) { // only fire on mobile l.addEventListener('click', () => { bsCollapse.toggle() }) } })
Méthode d'attribut de données : Ajouter les attributs data-bs-toggle="collapse" et data-bs-target=".navbar-collapse.show" vers des liens.
<nav> <ul> <li> <a href="#" data-bs-toggle="collapse" data-bs-target=".navbar-collapse.show">Home</a> </li> ... </ul> </nav>
Bootstrap 4
<ul class="navbar-nav mr-auto"> <li data-toggle="collapse" data-target=".navbar-collapse.show"> <a href="#home">Home</a> </li> ... </ul>
$('.navbar-nav>li>a').on('click', function(){ $('.navbar-collapse').collapse('hide'); });
<ul> <li> <a href="#" data-toggle="collapse" data-target=".navbar-collapse.show">Home</a> </li> ... </ul>
Bootstrap 3
<ul> <li data-toggle="collapse" data-target=".navbar-collapse.show"> <a href="#home">Home</a> </li> ... </ul>
$('.navbar-nav>li>a').on('click', function(){ $('.navbar-collapse').collapse('hide'); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!