2017-02-28 54 views
0

我想知道是否有一种方法来调节和反弹$(window).resize(或任何其他)调用的函数。我试图只调节油门,但问题是因为我使用的是身体宽度的100%,如果我在下次执行该功能之前停止调整大小,水平滚动apear。因此,在调整大小后,我需要将其删除以使其也可以执行。如何调节和消除功能?

如果你能想到另一种方式,请让我知道!

回答

2

我通常setTimeout做到了这一点:

// Timer handle; 0 = invalid handle 
var scrollTimer = 0; 
$("window").on("scroll", function() { 
    // Clear any pending work (it's okay to call with 0 [invalid handle], but add a guard if you like) 
    clearTimeout(scrollTimer); 
    // Schedule callback in X milliseconds 
    setTimeout(scrollHandler, 10); // 10 = 10ms, adjust as you like 
}); 
function scrollHandler() { 
    scrollTimer = 0; 
    // ... 
} 

如果一个新的滚动甚至提供在区间范围内,scrollHandler以前调用永远不会发生,我们安排一个新的。最后一个X毫秒后,scrollHandler被调用。