Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 固定滚动div拒绝坚持在IE_Javascript_Internet Explorer - Fatal编程技术网

Javascript 固定滚动div拒绝坚持在IE

Javascript 固定滚动div拒绝坚持在IE,javascript,internet-explorer,Javascript,Internet Explorer,我有下面的代码来创建一个div,它在滚动后会一直保持不变。它适用于除IE(8、9或10)之外的所有现代浏览器 有什么速效药吗?非常感谢 <script> //turns sidebar into fixed scrolling var header = document.querySelector('.stickySidebar'); var origOffsetY = header.offsetTop; function onScroll(e) { window.scroll

我有下面的代码来创建一个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>

//将侧边栏变成固定滚动
var header=document.querySelector('.stickySidebar');
var origOffsetY=header.offsetTop;
函数onScroll(e){
window.scrollY>=origOffsetY?header.classList.add('sticky'):
header.classList.remove('sticky');
}
文件。添加的文件列表(“滚动”,在滚动条上);

IE 8不支持
addEventListener
,您必须使用
attachEvent
(请参阅:)

解决方法示例(从MDN页面修改):


可能是doctype或header的问题。谢谢,但我已经有了建议的标题。不走运(在
onScroll
函数中添加一些调试:
console.log(header,origOffsetY,window.scrollY)
,然后您将看到哪个值的行为不正确。(注意:在IE中,按F12打开开发工具,然后单击“console”选项卡查看输出)。这似乎也不起作用。此外,问题不仅限于IE8,还有更高版本。感谢您的帮助。
if (el.addEventListener) {
  el.addEventListener('scroll', onScroll); 
} else if (el.attachEvent)  {
  el.attachEvent('onscroll', onScroll);
}