UNPKG

scroll-padlock

Version:

Locks elements scroll handling scrollbar gaps and iOS Safari with CSS variables

20 lines (15 loc) 427 B
import { win } from './client.js'; const clear = win.clearImmediate || win.clearTimeout; const set = win.setImmediate || win.setTimeout; /** * Debounces a given function * @param {Function} fn The function to be debounced * @returns {Function} The wrapped function */ export default fn => { let timeout; return (...rest) => { clear(timeout); timeout = set(() => fn.apply(null, rest)); }; };