J'ai remarqué que le bind de défilement jQuery de $(window).scroll a tendance à ralentir considérablement les pages. Par exemple, j'ai des éléments sur ma page qui changent de style lorsque je fais défiler passé eux en utilisant le script suivant :
$(window).scroll(function() {
var bottom_of_window = $(window).scrollTop() + $(window).height();
$('.ElementsToBeChanged').each(function() {
var bottom_of_object = $(this).offset().top + $(this).outerHeight();
if (bottom_of_window > bottom_of_object) {
//Ajouter mes styles
}
});
});
Il est compréhensible que le site soit lent, car il fonctionne constamment lors du défilement, mais je n'ai pas trouvé d'alternative pour déclencher des événements lorsque des objets sont défilés. Ce type de sites web qui déclenche des événements lors de le défilement semble assez courant; Comment font-ils pour contourner ce ralentissement ?