JSFiddle - React, Tailwind, and code Playground
by dpnminh
JavaScript
function debounce(func, wait, immediate = false){
var timeout;
return function(){
var context = this, args = arguments;
var callNow = immediate && !timeout;
var later = function(){
timeout = null;
if (!immediate){
func.apply(context, args);
}
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow){
func.apply(context, args);
}
}
}
function handleScroll(){
}
var handleScrollListener = debounce(handleScroll, 200);
window.addEventListener('scroll', handleScrollListener);