这是我的JS代码..
<script>
var sticky = document.querySelector('.sticky');
var origOffsetY = sticky.offsetTop;
function onScroll(e) {
window.scrollY >= origOffsetY ? sticky.classList.add('fixed') :
sticky.classList.remove('fixed');
}
document.addEventListener('scroll', onScroll);
</script>
即使用户向下滚动,它也会让div保持原位。
它在IE10(包含querySelector
,classList
和addEventListener
时不起作用,所以不是这样。)
答案 0 :(得分:2)
IE10不支持scrollY
。您必须在scrollTop
上使用document.documentElement
:
var sticky = document.querySelector('.sticky');
var origOffsetY = sticky.offsetTop;
var hasScrollY = 'scrollY' in window;
function onScroll(e) {
var y = hasScrollY ? window.scrollY : document.documentElement.scrollTop;
y >= origOffsetY ? sticky.classList.add('fixed') : sticky.classList.remove('fixed');
}
document.addEventListener('scroll', onScroll);
(您可能不需要检查,所有目标浏览器都可能支持document.documentElement.scrollTop
,您可以随时使用它。)