UNPKG

scrollama

Version:

Lightweight scrollytelling library using IntersectionObserver

26 lines (20 loc) 705 B
let previousScrollY; let currentScrollY; let comparisonScrollY; let direction; function onScroll(container) { const scrollTop = container ? container.scrollTop : window.pageYOffset; if (currentScrollY === scrollTop) return; previousScrollY = currentScrollY; currentScrollY = scrollTop; if (currentScrollY > comparisonScrollY) direction = "down"; else if (currentScrollY < comparisonScrollY) direction = "up"; comparisonScrollY = currentScrollY; } function setupScroll(container) { previousScrollY = 0; currentScrollY = 0; comparisonScrollY = 0; document.addEventListener("scroll", () => onScroll(container)); } export { setupScroll, onScroll, direction, previousScrollY, currentScrollY };