Maison > interface Web > tutoriel CSS > Comment changer la couleur d'arrière-plan de la barre de navigation lors du défilement ?

Comment changer la couleur d'arrière-plan de la barre de navigation lors du défilement ?

Linda Hamilton
Libérer: 2024-11-26 10:24:18
original
219 Les gens l'ont consulté

How to Change Navbar Background Color on Scroll?

Modification de la couleur de la barre de navigation après le défilement

Question :

Comment pouvez-vous supprimer l'arrière-plan couleur d'une barre de navigation initialement, puis ajoutez une nouvelle couleur une fois le défilement se produit ?

Scénario :

Le site Web en question, https://attafothman.olympe.in/, comporte une barre de navigation noire en haut qui devrait maintenir un position. Cependant, lorsque vous faites défiler vers le bas en dessous d'un certain div, la barre de navigation acquiert automatiquement une nouvelle couleur d'arrière-plan.

Solution :

Pour résoudre ce problème, une combinaison de JavaScript et CSS est employé.

JavaScript :

$(function () {
  $(document).scroll(function () {
    var $nav = $(".navbar-fixed-top");
    $nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height());
  });
});
Copier après la connexion

Ce code JavaScript déclenche un écouteur d'événement lors du défilement. Lorsque la position de défilement dépasse la hauteur de la barre de navigation, il ajoute une classe CSS personnalisée nommée « scrolled » à l'élément.

CSS :

.navbar-fixed-top.scrolled {
  background-color: #fff !important;
  transition: background-color 200ms linear;
}
Copier après la connexion

Ce CSS La règle définit le comportement de la classe « défilée ». Il attribue une couleur d'arrière-plan blanche unie à l'élément avec la classe 'navbar-fixed-top' une fois la classe 'scrolled' ajoutée. Le mot-clé '!important' garantit que cette règle remplace tout style conflictuel.

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