Maison > interface Web > tutoriel CSS > Comment puis-je ajouter dynamiquement des classes de navigation actives au menu de mon site Web à l'aide de JavaScript ?

Comment puis-je ajouter dynamiquement des classes de navigation actives au menu de mon site Web à l'aide de JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-04 01:45:16
original
453 Les gens l'ont consulté

How Can I Dynamically Add Active Navigation Classes to My Website Menu Using JavaScript?

Ajouter des classes de navigation actives dynamiques aux menus

Lors de la navigation sur une page Web, il est courant de mettre en surbrillance l'élément de menu actif correspondant à la page actuelle . Cela améliore l'expérience utilisateur en fournissant des repères visuels pour l'emplacement actuel dans la hiérarchie du site.

Pour implémenter cette fonctionnalité, nous utiliserons JavaScript pour identifier l'URL actuelle et ajouterons une classe « active » à l'élément de menu approprié. .

Comment ajouter une classe de navigation active à l'aide de JavaScript

Examinons une solution utilisant le puissant bibliothèque :

$(function () {
    var current = location.pathname;
    $('#nav li a').each(function () {
        var $this = $(this);
        if ($this.attr('href').indexOf(current) !== -1) {
            $this.addClass('active');
        }
    });
});
Copier après la connexion

Explication :

  • Lorsque le document est prêt, le script s'initialise.
  • La propriété location.pathname récupère le chemin de la page actuelle.
  • Il parcourt les balises d'ancrage de chaque élément de menu ($('#nav li a')).
  • Pour chaque balise d'ancrage, il vérifie si son attribut href contient le chemin actuel à l'aide de la fonction indexOf().
  • S'il trouve une correspondance, la balise d'ancrage correspondante est attribué la classe "active".

Remarque importante :

Si le menu contient plusieurs des liens pointant vers la même page, cette approche peut ne pas déterminer avec précision l'élément actif. Dans de tels scénarios, une logique supplémentaire peut être nécessaire pour gérer ces cas.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal