Skip to content

Instantly share code, notes, and snippets.

@edgarberm
Created August 25, 2015 09:24
Show Gist options
  • Save edgarberm/5741fe35c664cf9618c9 to your computer and use it in GitHub Desktop.
Save edgarberm/5741fe35c664cf9618c9 to your computer and use it in GitHub Desktop.
function throttle ( fn, threshhold, scope ) {
threshhold || (threshhold = 250);
var last,
deferTimer;
return function () {
var context = scope || this;
var now = +new Date,
args = arguments;
if ( last && now < last + threshhold ) {
// hold on to it
clearTimeout(deferTimer);
deferTimer = setTimeout( function () {
last = now;
fn.apply( context, args );
}, threshhold );
} else {
last = now;
fn.apply(context, args);
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment