Scrolls: 0
Fast Scrolls: 0
Resizes: 0
Leading Resizes: 0

Odo Window Events

This component keeps track of callbacks for window resize and scroll events. These callbacks are debounced and throttled, respectively. If you need higher fidelity scrolling, check out odo-scroll-animation.

Support

IE9+

Dependencies

None. Throttle and debounce packages are bundled.

Register a Callback

To listen for scroll events, register your callback with the onScroll method or the onFastScroll method. They are throttled to 500 and 150 milliseconds, respectively.

let scrolls = 0;
OdoWindowEvents.onScroll((scrollTop, scrollLeft) => {
  scrolls += 1;
  output1.innerHTML = scrolls;
});

To listen for resize events, register your callback with the onResize method or the onLeadingResize method. They are debounced to 500 milliseconds.

let resizes = 0;
OdoWindowEvents.onResize((viewportWidth, viewportHeight) => {
  resizes += 1;
  output3.innerHTML = resizes;
});

Remove a Callback

To remove a registered callback, use the remove method with the id returned from registering it.

const id = OdoWindowEvents.onFastScroll(myCallback);
OdoWindowEvents.remove(id);