2017-07-21 9 views
1

$(window).scroll()スクロールイベントを検出できます。javascriptで一意のスクロールイベントを検出する

ただし、単一のスクロールで何度もトリガされます。

リテラルスクロールイベントを検出するにはどうすればよいですか。つまり、1回のスワイプまたはマウススクロールに対応しますか?

時間のしきい値を使用することは理想的ではありません。十分にスクロールすると、数秒間のスクロールが可能になるからです。

+1

あなたはそれをデバウンスするかスクロールした量をカウントするだけで済みます – adeneo

+0

ポインタイベントを見るhttps://developer.mozilla.org/en-US/docs/Web/API/PointerEvent – Will

+0

正しいキーワードあなたの質問は 'スクロールデルタ'、幸運です。 – Cleiton

答えて

2

あり、スクロール開始を検出するために、ネイティブのイベントはありませんし、停止していますが、このようなプラグインを通してそれを達成することができます:https://github.com/ssorallen/jquery-scrollstop

それは二つの事象、scrollstartとscrollstopを提供します。

$(window) 
    .on("scrollstart", function() { 

    }) 
    .on("scrollstop", function() { 

    }); 

基本的には、最初のスクロール後にscrollstartイベントが発生し、250ms後にスクロールストップイベントが発生します。時間は調整可能です。

関連する問題