Question

J'utilise actuellement quelque chose comme celui-ci pour faire des choses sur l'événement prêt et sur le défilement.Mais je n'ai vraiment besoin de faire des choses que chaque fois que la page défile sur toute la longueur (hauteur de la fenêtre) et de ne pas la refire pour chaque petit parchemin.Existe-t-il un moyen de le faire en utilisant jQuery ou JavaScript natif?

$(document).ready(function() {
    $(window).scroll(function() {
        // do stuff
    }).scroll(); // Trigger scroll handlers.
});
Était-ce utile?

La solution

Vous ne pouvez pas vraiment déclencher un événement sans l'écouter, mais vous pouvez utiliser scrollTop () de jQuery pour voir si la page défile de la même manière que la hauteur de la fenêtre, mais il devra être vérifié sur un certain événement, comme l'événement de défilement, quelque chose comme ceci:

$(window).on('scroll', function() {
    if ($(this).scrollTop() > $(window).height()) {
        alert("scrolled more than window height");
    }
});

Autres conseils

Il n'y a aucun moyen de déclencher le défilement uniquement à certains points de la page, vous devrez le vérifier à chaque fois ... mais vous voudrez peut-être envisager limitation ou suppression de l'événement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top