toosoon-events
Version:
Project providing services implemented as singleton class instances
21 lines (20 loc) • 514 B
JavaScript
import { EventManager } from './index';
/**
* Utility class for creating scroll event listeners
*
* @class ScrollManager
* @extends EventManager
*/
class ScrollManager extends EventManager {
listeners = [];
bind() {
window.addEventListener('scroll', this._onScroll);
}
unbind() {
window.removeEventListener('scroll', this._onScroll);
}
_onScroll = (event) => {
this.listeners.forEach((listener) => listener(event));
};
}
export default new ScrollManager();