0

スクロールした後に固執する div を持つ次のコードがあります。IE (8、9、または 10) を除くすべての最新のブラウザーで動作します。

簡単な修正はありますか?とても有難い。

<script>
//turns sidebar into fixed scrolling
var header = document.querySelector('.stickySidebar');
var origOffsetY = header.offsetTop;

function onScroll(e) {
  window.scrollY >= origOffsetY ? header.classList.add('sticky') :
                              header.classList.remove('sticky');
}

document.addEventListener('scroll', onScroll);
</script>
4

1 に答える 1

0

IE 8 は をサポートしていません。addEventListener使用する必要がありますattachEvent( https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener#Compatibilityを参照) 。

回避策の例 (MDN ページから変更):

if (el.addEventListener) {
  el.addEventListener('scroll', onScroll); 
} else if (el.attachEvent)  {
  el.attachEvent('onscroll', onScroll);
}
于 2013-05-14T13:41:06.677 に答える