Skip to content

Delay function calls until a set time elapses after the last invocation

License

Notifications You must be signed in to change notification settings

Defreezz/debounce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

debounce

Useful for implementing behavior that should only happen after a repeated action has completed.

Installation

$ component install component/debounce

Or in node:

$ npm install debounce

Example

var debounce = require('debounce');
window.onresize = debounce(resize, 200);

function resize(e) {
  console.log('height', window.innerHeight);
  console.log('width', window.innerWidth);
}

To later clear the timer and cancel currently scheduled executions:

window.onresize.clear();

API

debounce(fn, wait, [ immediate || false ])

Creates and returns a new debounced version of the passed function that will postpone its execution until after wait milliseconds have elapsed since the last time it was invoked.

Pass true for the immediate parameter to cause debounce to trigger the function on the leading edge instead of the trailing edge of the wait interval. Useful in circumstances like preventing accidental double-clicks on a "submit" button from firing a second time.

The debounced function returned also has a property 'clear' that is a function that will clear any scheduled future executions of your function.

License

MIT

Original implementation is from underscore.js which also has an MIT license.

About

Delay function calls until a set time elapses after the last invocation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%