あなたはこのように、ユーザーのスクロールに対応するためにscroll eventを使用することができますイベントを抑制するよう注意してください。つまり、コードがxミリ秒ごとに実行されるようにしてください。
スクロールが停止した後にのみコードを実行する場合は、I have this fiddle for you。この例では
function checkf(predf, callback, ms) {
window.setTimeout(function() {
if (predf()) {
callback();
return;
}
checkf(predf, callback, ms);
}, ms);
}
function afterScrollStops(func) {
var ms = 100, // interval to perform the scroll position check
oldX = $(document).scrollLeft(),
oldY = $(document).scrollTop();
function startf() {
$(document).one("scroll", function() {
checkf(function() {
var newX = $(document).scrollLeft(),
newY = $(document).scrollTop(),
stoppedScrolling = newX === oldX && newY === oldY;
oldX = newX;
oldY = newY;
return stoppedScrolling;
}, function() {
func();
startf();
}, ms);
});
}
startf();
}
afterScrollStops(function() {
console.log("user stopped scrolling");
});
、コールバック関数は、ユーザがスクロールを停止した後機能を実行するafterScrollStopsに渡されます。
あなたはこれを試しましたか?> https://api.jquery.com/scroll/ – N1gthm4r3
はい、私は試しました。しかし、私は適切な応答を得ていません –
私は、タッチパッドのスクロールを検出するための完璧なソリューションがあると思いますが、回避策があります。デルタ速度は40倍増加する。そこからあなたはそれを検出することができます。詳細については、この回答を確認してください:https://stackoverflow.com/a/16696129/631803 – VicJordan