Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

debounce js

function debounce(fn, delay) {
  let timer;
  return (() => {
    clearTimeout(timer);
    timer = setTimeout(() => fn(), delay);
  })();
  
};

// usage
function someFn() {
  console.log('Hi')
};

debounce(someFn, 1000);
Comment

debounce js

const debounce = (fn, delay) => {
  let timer;
  return function () {
    clearTimeout(timer);
    timer = setTimeout(fn, delay);
  };
};

// Example
let count = 0;
const increaseCount = (num) => {
  count += num;
  console.log(count);
};

window.addEventListener('scroll', debounce(increaseCount.bind(null, 5), 200));
Comment

debounce js

function debounce(func, timeout = 300){
  let timer;
  return function(...args) {
    if (timer) {
      clearTimeout(timer);
    }
    
    timer = setTimeout(() => {
      func.apply(this, args);
    }, timeout);
  };
}
Comment

debounce function in javascript

// Add this in HTML
<button id="myid">Click Me</button>

// This is JS Code for debounce function
const debounce = (fn,delay ) => {
  let timeoutID; // Initially undefined
  
  return function(...args){
    
    // cancel previously unexecuted timeouts
    if(timeoutID){
      clearTimeout(timeoutID);
    }
    
    timeoutID = setTimeout( () => {
      fn(...args);
    }, delay)
  }
}


document.getElementById('myid').addEventListener('click', debounce(e => {
  console.log('you clicked me');
}, 2000))
Comment

debounce function

function debounce(func, wait, immediate) {
  // 'private' variable for instance
  // The returned function will be able to reference this due to closure.
  // Each call to the returned function will share this common timer.
  var timeout;

  // Calling debounce returns a new anonymous function
  return function() {
    // reference the context and args for the setTimeout function
    var context = this,
      args = arguments;

    // Should the function be called now? If immediate is true
    //   and not already in a timeout then the answer is: Yes
    var callNow = immediate && !timeout;

    // This is the basic debounce behaviour where you can call this 
    //   function several times, but it will only execute once 
    //   [before or after imposing a delay]. 
    //   Each time the returned function is called, the timer starts over.
    clearTimeout(timeout);

    // Set the new timeout
    timeout = setTimeout(function() {

      // Inside the timeout function, clear the timeout variable
      // which will let the next execution run when in 'immediate' mode
      timeout = null;

      // Check if the function already ran with the immediate flag
      if (!immediate) {
        // Call the original function with apply
        // apply lets you define the 'this' object as well as the arguments 
        //    (both captured before setTimeout)
        func.apply(context, args);
      }
    }, wait);

    // Immediate mode and no wait timer? Execute the function..
    if (callNow) func.apply(context, args);
  }
}

/////////////////////////////////
// DEMO:

function onMouseMove(e){
  console.clear();
  console.log(e.x, e.y);
}

// Define the debounced function
var debouncedMouseMove = debounce(onMouseMove, 50);

// Call the debounced function on every mouse move
window.addEventListener('mousemove', debouncedMouseMove);
 Run code snippet
Comment

debounce javascript

let timeout;  

const debounce = (callback, wait) => {
    return (...args) => {
      clearTimeout(timeout);
      timeout = setTimeout(function () {
        callback.apply(this, args);
      }, wait);
    };
  };

const exampleFn = () => {
  console.log('Hello Word')
};

debounce(exampleFn, 1000);
Comment

PREVIOUS NEXT
Code Example
Javascript :: set exit node tor 
Javascript :: DevDependencies and dependencies syntax in Node package.json 
Javascript :: how to convert a number to a string in javascript 
Javascript :: heroku buildpacks with react 
Javascript :: how to check electron verion 
Javascript :: Check the render method of `App` 
Javascript :: angular cli no test 
Javascript :: detect keyboard open or close in react js 
Javascript :: random color js 
Javascript :: expresiones ternarias javascript 
Javascript :: manually fire event using javascript 
Javascript :: how to use labels in javascript 
Javascript :: json data types 
Javascript :: remove script in react js 
Javascript :: select option filter javascript 
Javascript :: sum 2d array javascript 
Javascript :: javascript add 1 to each element in array 
Javascript :: vue js encrypt localstorage data 
Javascript :: multiple image upload in react js 
Javascript :: dom event 
Javascript :: how to recognize an array in javascript 
Javascript :: new date getday js 
Javascript :: Documenting inside javascript 
Javascript :: jquery filtering 
Javascript :: How to add a class to html element js 
Javascript :: js start at this character 
Javascript :: react native style variable 
Javascript :: jquery validation from data 
Javascript :: dot geometru three js 
Javascript :: javascript loop 
ADD CONTENT
Topic
Content
Source link
Name
7+1 =