web-dev-qa-db-fra.com

$ (window) .scroll dans Vanilla JavaScript

  1. Quel est l'équivalent de ce qui suit dans JS ordinaire?

    $(window).scroll(function() { });

  2. Je cherche également à animer un parchemin, par exemple:

    $('html, body').animate({scrollTop:1750}, 'slow');

Dois-je utiliser requestAnimationFrame?

http://paulirish.com/2011/requestanimationframe-for-smart-animating/

Existe-t-il des exemples qui déclenchent une animation une fois au clic et non des rendus continus?

25
Neo

Question 1

window.onscroll = function() {
    console.log('scrolling');
};

ou si votre support des navigateurs ciblésaddEventListener:

window.addEventListener('scroll', function() {
        console.log('scrolling');
});

Question 2

À mon avis, si vous faites simplement défiler d'une section à une autre section de votre page et que vous n'avez pas une sorte de mouvement de défilement en cours d'exécution, vous pouvez le faire sans utiliser requestAnimationFrame.

Vous pouvez trouver de bonnes implémentations de défilement vers une partie particulière de la fenêtre en pur javascript, je vous suggère de vérifier leur source (ou même de les utiliser).

41
Jonathan F