jQuery!我没有正确使用 _.debounce

jQuery! I fail to use _.debounce properly

我正在尝试使用 _.debounce() of underscore.js 功能,但无法正常使用。

我正在尝试消除 window 滚动条的抖动,如下所示,但我感到非常困惑。

$(document).ready(function () {
 $(window).scroll(function (event) {
    var scrollCounter = $(this).scrollTop();
    if ( scrollCounter > 0 ) { //do stuff }
    else { //do stuff }
 });
});

来自文档和示例:

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/