js-throttle-debounce
A javascript prototype plugin provides throttle and debounce methods.
This refers to jquery-throttle-debounce
Download
Installation
You can also install js-throttle-debounce by using Bower.
bower install js-throttle-debounce
For node.js, you can use this command to install:
npm install js-throttle-debounce
Demo
Usage
You could use like this: JavaScript
function yourMethod() {
// ...
}
var throttle = yourMethod.throttle();
var throttleIgnoreLast = yourMethod.throttle(500, true);
var debounce = yourMethod.debounce(100);
Methods
Function.throttle([delay], [ignoreLast])
Create a throttle method.
Number
(default: 100
)
delay: Set delay in milliseconds.
Boolean
(default: false
)
ignoreLast: Set true that last trigger will not be executed.
Function.debounce([delay])
Create a debounce method.
Number
(default: 100
)
delay: Set delay in milliseconds.
Example
AJAX Search
HTML
<input type="text" onchange="search()" />
JavaScript
function ajaxSearch() {
// ... do AJAX search by keyword
}
search = ajaxSearch.debounce();
Resize
JavaScript
function updateLayouts() {
// ... render something when resizing
}
window.onresize = updateLayouts.throttle();
License
The project is released under the MIT license.
Contact
The project's website is located at https://github.com/emn178/js-throttle-debounce
Author: emn178@gmail.com