web-dev-qa-db-ja.com

Vanilla JavaScriptの$(window).scroll

  1. プレーンJSの次のものに相当するものは何ですか?

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

  2. また、スクロールをアニメーション化することも検討しています:

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

requestAnimationFrameを使用する必要がありますか?

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

連続レンダリングではなく、クリック時にアニメーションをトリガーする例はありますか?

25
Neo

質問1

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

または ターゲットブラウザサポートaddEventListenerの場合:

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

質問2

私の意見では、ページのあるセクションから別のセクションにスクロールしているだけで、ある種の絶え間なくスクロールする動きがない場合、requestAnimationFrameを使用せずにこれを行うのは問題ありません。

純粋なjavascriptでウィンドウの特定の部分へのスクロールの適切な実装を見つけることができます。ソースをチェックアウトする(またはそれらを使用する)ことをお勧めします。

41
Jonathan F