今天寫 js 的效果時候,發現 document.body.scrollTop 在 Chrome、Opera 上都可以順利取得瀏覽器的 top 位置,

但是 IE、Firefox 卻完全沒有反應,console.log 出來,捲軸怎麼滾就只是個 0 ,後來問了 Google 大神,

發現有其他的解決辦法。

只要換成 jQuery 的 scrollTop() 就都能正常運作了^^

記錄下來:

工作上用到的一小段 code

// called when the window is scrolled.
window.onscroll = function () {
  var scrollTop = $(document).scrollTop();
  if (scrollTop > 50) {
    $('#nav').addClass('nav-shadow');
  } else if (document.body.scrollTop < 51) {
    $('#nav').removeClass('nav-shadow');
  }

  if (scrollTop >= 3600) {
    TweenMax.to('.img_m_zip', 0.7, {
      opacity: 1,
      delay: 0.4,
      left: '10%',
      ease: 'easeOut',
    });
  }

  if (scrollTop >= 4200) {
    TweenMax.to('.img_g_zip', 0.7, {
      opacity: 1,
      delay: 0.4,
      left: '13%',
      ease: 'easeOut',
    });
  }
};

參考資料: jQuery scrollTop() api