我尝试使用_.debounce()的underscore.js功能,但我无法正常使用。
我试图去除窗口的滚动,如下所示,但我很困惑。
$(document).ready(function () {
$(window).scroll(function (event) {
var scrollCounter = $(this).scrollTop();
if ( scrollCounter > 0 ) { //do stuff }
else { //do stuff }
});
});
答案 0 :(得分:2)
从文档和示例中:
var lazyLayout = _.debounce(calculateLayout, 300);
$(window).resize(lazyLayout);
你可以像这样重构你的辩护:
function scrollHandler() {
var scrollCounter = $(this).scrollTop();
if ( scrollCounter > 0 ) { /* do stuff /* }
else { /* do stuff */ }
};
$(document).ready(function () {
var debouncedScroll = _.debounce(scrollHandler, 50);
$(window).scroll(debouncedScroll);
});
更新:使用jsfilddle:https://jsfiddle.net/z635f7ys/