À l'intérieur d'un gestionnaire d'événements jQuery, je voudrais faire défiler la fenêtre et puis ajouter un cours à quelque chose. Ceci est mon code:jQuery: faites défiler la fenêtre puis addClass() - comment appeler
$('#foo').click(function() {
window.scrollTo(y);
$('#bar').addClass('active');
});
$(window).scroll(function() {
$('#bar').removeClass('active');
});
Notez que j'ai un autre gestionnaire pour supprimer cette même classe chaque fois que la fenêtre est défilée. La partie de défilement fonctionne bien, mais semble fonctionner de manière asynchrone, donc removeClass()
se produit après addClass()
mais avant que le défilement ne soit terminé. Je ne sais pas comment le faire en javascript. Je sais qu'il existe une fonction jQuery scrollTop()
qui fait la même chose (mais qui semble avoir des problèmes entre navigateurs), mais elle n'accepte pas les rappels.
Ce dont j'ai vraiment besoin est un rappel pour ajouter la classe après le défilement est terminé. merci!
merci. J'ai vu cela, mais je préfère ne pas ajouter un tas de code supplémentaire pour quelque chose que je sais être simple, je ne sais pas comment le faire. – carillonator