$(window).scroll in vanilla JavaScript

时间:2013-01-17 22:56:58

标签: javascript scroll requestanimationframe

  1. 普通JS中的以下内容是什么?

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

  2. 我也想要动画滚动,例如:

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

  3. 我应该使用requestAnimationFrame吗?

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

    是否有任何示例在点击时触发动画,而不是连续渲染?

1 个答案:

答案 0 :(得分:39)

问题1

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

或您的targeted browsers support addEventListener

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

问题2

在我看来,如果你只是从一个部分滚动到页面的另一部分,而没有经常运行滚动动作,那么你可以在不使用requestAnimationFrame的情况下这样做。

您可以在纯JavaScript中找到滚动到窗口特定部分的良好实现,我建议查看它们的来源(甚至使用它们)。