Comment créer : menu de recherche
- Page précédente Barre de navigation avec icône
- Page suivante Barre de recherche
Apprenez à utiliser JavaScript pour créer un menu de recherche pour filtrer les liens.
Recherche/Filtrage du menu
Comment rechercher des liens dans le menu de navigation :
Contenu de la page
Entrez une catégorie/lien spécifique dans la barre de recherche pour "filtrer" les options de recherche.
Some text..Some text..Some text..Some text..Some text..Some text..Some text..Some text..
Some other text..Some text..Some text..Some text..Some text..Some text..Some text..Some text..
Some text..
Créer un menu de recherche
Étape 1 - Ajouter HTML :
<input type="text" id="mySearch" onkeyup="myFunction()" placeholder="Recherche.." title="Tapez une catégorie"> <ul id="myMenu"> <li><a href="#">HTML</a></li> <li><a href="#">CSS</a></li> <li><a href="#">JavaScript</a></li> <li><a href="#">PHP</a></li> <li><a href="#">Python</a></li> <li><a href="#">jQuery</a></li> <li><a href="#">SQL</a></li> <li><a href="#">Bootstrap</a></li> <li><a href="#">Node.js</a></li> </ul>
Attention :Dans cette démonstration, nous utilisons href="#"
,car nous n'avons pas de pages liées. Dans une situation réelle, cela devrait être un URL réel pointant vers une page spécifique.
Étape 2 - Ajouter CSS :
Définir les styles de la zone de recherche et du menu de navigation :
/* Définir le style de la zone de recherche */ #mySearch { width: 100%; font-size: 18px; padding: 11px; border: 1px solid #ddd; } /* Définir le style du menu de navigation */ #myMenu { list-style-type: none; padding: 0; margin: 0; } /* Définir le style des liens de navigation */ #myMenu li a { padding: 12px; text-decoration: none; color: black; display: block } #myMenu li a:hover { background-color: #eee; }
Étape 3 - Ajouter JavaScript :
<script> function myFunction() { // Déclarer les variables var input, filter, ul, li, a, i; input = document.getElementById("mySearch"); filter = input.value.toUpperCase(); ul = document.getElementById("myMenu"); li = ul.getElementsByTagName("li"); // Parcourir tous les éléments de la liste et masquer ceux qui ne correspondent pas à la requête de recherche for (i = 0; i < li.length; i++) { a = li[i].getElementsByTagName("a")[0]; if (a.innerHTML.toUpperCase().indexOf(filter) > -1) { li[i].style.display = ""; } else { li[i].style.display = "none"; } } } </script>
Astuce :Si vous souhaitez effectuer une recherche sensible à la casse, supprimez toUpperCase()
.
Pages associées
Tutoriel :Comment filtrer un tableau
Tutoriel :Comment filtrer la liste
- Page précédente Barre de navigation avec icône
- Page suivante Barre de recherche