handleScroll
ウィンドウのスクロール位置が変わったときに呼び出す必要のある関数があります。これがそのためのコードです
$(window).scroll(handleScroll);
handleScroll
しかし、問題は、上記のコードが頻繁に呼び出されてしまうことです。ユーザーが200ミリ秒スクロールを停止した後にのみhandleScrollが呼び出されるように、上記のコードを変更するにはどうすればよいですか?
handleScroll
ウィンドウのスクロール位置が変わったときに呼び出す必要のある関数があります。これがそのためのコードです
$(window).scroll(handleScroll);
handleScroll
しかし、問題は、上記のコードが頻繁に呼び出されてしまうことです。ユーザーが200ミリ秒スクロールを停止した後にのみhandleScrollが呼び出されるように、上記のコードを変更するにはどうすればよいですか?
var timeoutHandle;
$(window).scroll(function(e) {
if (timeoutHandle) {
clearTimeout(timeoutHandle);
}
timeoutHandle = setTimeout(function() {
handleScroll(e);
timeoutHandle = null;
}, 200);
});
underscorejsライブラリを使用すると、次のように簡単になります。
var debounceid = _.debounce(handleScroll, 200);
$(window).resize(debounceid);