2017-02-28 30 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被調用。