-1

这是我的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 中不起作用(它有querySelectorclassListaddEventListener,所以不是这样)。

4

1 回答 1

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并且您可以一直使用它。)

于 2013-10-04T07:07:51.783 回答