Throttle or Delay JavaScript Functions When Window is Resized [code snippet]

Get FREE Marketing Guides & Templates

Underscore.js has a popular method for throttling and debouncing functions to prevent them from firing multiple times when a window is resized. I found this delay function that works for times when you don’t need to load the entire underscore library to achieve a similar effect.

// delay function to use on resize to prevent multiple resize events
var delay = (function () {
  var timer = 0;
  return function (callback, ms) {
    timer = setTimeout(callback, ms);

// Add the delayed functions here
const delayedFunctions = function () {
    console.log('delayedFunctions running');

// document ready
$( document ).ready(function() {
    // delayedFunctions on load

// window resize
window.onresize = function(event) {
    console.log('Window Resize...');
  }, 500);

Written by: Jake Lett
I share digital marketing tips and HubSpot tutorials to help marketers and business owners grow their business.


Related posts

Tags: ,

Want to Get Email Updates of New Articles?

Join My Email Newsletter