JSFiddle - React, Tailwind, and code Playground

https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event

by MegaScience

CSS

body {
  height: 200vh;
}

JavaScript

/*let last_known_scroll_position = 0;
let ticking = false;

function doSomething(scroll_pos) {
  // Do something with the scroll position
}

window.addEventListener('scroll', function(e) {
  last_known_scroll_position = window.scrollY;

  if (!ticking) {
    window.requestAnimationFrame(function() {
      doSomething(last_known_scroll_position);
      ticking = false;
    });

    ticking = true;
  }
});*/

(function () {
	let pScrollPos = 0
	let t = false

	function actions(pos) {
		alert(`S1 ${pScrollPos} S2 ${window.scrollY}`)
		t = false
	}

	window.addEventListener('scroll', (e) => {
		pScrollPos = window.scrollY
		if(!t) {
			window.requestAnimationFrame(actions)
      t = true
		}
	})
})()