JSでスクロール方向検知と処理分岐

// スクロール位置を保持する変数
let lastScrollTop = 0;

window.addEventListener('scroll', function() {
  // 現在のスクロール量を取得
  let scrollTop = window.pageYOffset || document.documentElement.scrollTop;

  // スクロール方向の判定
  if (scrollTop > lastScrollTop) {
    // 下にスクロールした時の処理
    onScrollDown();
  } else {
    // 上にスクロールした時の処理
    onScrollUp();
  }

  // 現在の位置を「前回の位置」として保存
  // マイナス値にならないように調整(モバイルのバウンススクロール対策)
  lastScrollTop = scrollTop <= 0 ? 0 : scrollTop;
}, false);

/**
  * 下スクロール時のアクション
  */
function onScrollDown() {
  console.log('下スクロール')
}

/**
  * 上スクロール時のアクション
  */
function onScrollUp() {
  console.log('上スクロール')
}