Javascript 固定滚动div拒绝坚持在IE
我有下面的代码来创建一个div,它在滚动后会一直保持不变。它适用于除IE(8、9或10)之外的所有现代浏览器 有什么速效药吗?非常感谢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
<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);
}