Changer la classe d'un élément fixe en fonction du scroll

Résolu
Oluram Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Rapidement, voilà ce que je souhaite faire : sur une page web, j'ai une première section de la hauteur de la fenêtre avec une photo en fond, puis la section suivante a un fond blanc. Une icone (blanche) pour afficher le menu est située dans le coin en haut à gauche de la fenêtre quel que soit le scroll. Je souhaite qu'elle soit blanche lorsqu'elle est sur la photo, et jaune sur le reste de la page.

Je débute en JS/jQuery, et voici ce que j'ai pour le moment :

$(document).ready(function () {

var homeHeight = $('#main').height();
var offset = $('#nav-icon').offset();
if (offset.top > homeHeight) {
$('#nav-icon').addClass('icon-jaune');
} else {
$('#nav-icon').removeClass('icon-jaune');
}
});

Cela fonctionne uniquement lorsque je recharge la page, ce n'est pas dynamique. J'ai eu beau chercher (et je me doute que c'est quelque chose d'assez basique), je n'ai pas trouvé comment faire.

Donc merci d'avance si quelqu'un peut me dépanner !
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Tu dois effectivement exécuter ton code non pas au chargement de la page mais lorsque l'événement javascript onscroll est déclenché.
Puisque tu utilises jQuery, tu peux utiliser la fonction scroll() : https://api.jquery.com/scroll/

Bonne journée
-1