Ajouter/Supprimer une classe avec jQuery basé sur le défilement vertical
Dans ce cas, l'objectif est de supprimer la classe de "l'en-tête" élément une fois que l'utilisateur fait défiler une certaine distance, puis applique une classe différente pour modifier son apparence. Cependant, le code fourni ne fonctionne pas comme prévu en raison de quelques erreurs mineures.
Le code corrigé est le suivant :
$(window).scroll(function() { var scroll = $(window).scrollTop(); // >=, not <= if (scroll >= 500) { // clearHeader, not clearheader - caps H $(".clearHeader").addClass("darkHeader"); } });
Il y avait trois problèmes principaux :
En plus de corriger ces erreurs, considérez ce qui suit :
if (scroll >= 500) { $(".clearHeader").addClass("darkHeader"); } else { $(".clearHeader").removeClass("darkHeader"); }
Enfin, la mise en cache l'objet jQuery pour l'en-tête peut améliorer les performances, surtout si vous prévoyez de modifier sa classe plusieurs fois :
var header = $(".clearHeader"); $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 500) { header.removeClass('clearHeader').addClass("darkHeader"); } else { header.removeClass("darkHeader").addClass('clearHeader'); } });
En résolvant ces problèmes, vous peut désormais ajouter et supprimer efficacement des classes de l'en-tête en fonction de la position de défilement vertical de l'utilisateur.
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!