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 回答