ページが現在モバイルでスクロールしているかどうかを検出できますか? 勢いスクロールを含む?
基本的に、関数を実行したいのですが、スクロールがまったく発生していない場合に限ります。
if(!scrolling){
//do stuff
}
ページが現在モバイルでスクロールしているかどうかを検出できますか? 勢いスクロールを含む?
基本的に、関数を実行したいのですが、スクロールがまったく発生していない場合に限ります。
if(!scrolling){
//do stuff
}
var scrolling = false;
var endScrolling;
$(window).on("scroll", function() {
scrolling = true;
endScrolling = window.setTimeout(function() {
scrolling = false;
window.clearTimeout(endScrolling);
}, 20);
});
基本的にここで何が起こるかは次のとおりです。
1) ウィンドウがスクロールを開始すると、「scrolling」が true に設定されます
2) タイムアウトは、スクロールが実行されるとすぐに false に設定されますが、次のようになります。
3) モバイル Safari は、スクロール中 (運動量を含む) に setTimeout を実行しません。したがって、最初の実行は、スクロールが実際に終了したときにのみ発生します。