<p>Move your mouse around and watch the couters

<p>Original counter: </p>
<p id='ori'> 0 </p>

<p>Throttle counter: </p>
<p id='thr'> 0 </p>
  let throttle = (fn, wait) => {
        wait = wait || 0;
        
        let timer = null;
        
        return (...args) => {
            if (!timer) 
                timer = setTimeout((args) => {
                    clearTimeout(timer);
                    timer = null;
                    fn.apply(this, args);
                }, wait);
        }
    }
  
let i = 0; 
let j = 0;

let add = (event) => {
  document.getElementById('ori').innerText = i++;
}

let addDe = (event) => {
  document.getElementById('thr').innerText = j++;
}

document.addEventListener('mousemove', add);

document.addEventListener('mousemove', throttle(addDe, 100));
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.