IE8中的Document.documentElement.scrollTop在错误的高度激活

时间:2014-08-01 15:01:58

标签: jquery internet-explorer-8 scroll

问题

我有一个元素在用户滚过它时会被修复,因此它跟随用户向下移动。

我一直试图让它与IE8兼容并遇到问题。

$(window).scrollTop()在IE8中出现问题所以我一直试图为IE8提供第二个选项:document.documentElement.scrollTop

这会使我的代码变为:

if ($(window).scrollTop() || (document.documentElement.scrollTop) > 90) {
    //if scroll top goes past fixed header add class
    $(scrollbox).addClass('affix');
 }
else {
    $(scrollbox).removeClass('affix');
 }

虽然这使得它在IE8中正确滚动,但现在它立即开始在Chrome和Firefox中滚动。

我尝试抵消它以便稍后滚动,但这不会做任何事情:

(document.documentElement.scrollTop - 100)

一旦开始滚动,该类仍然会被附加。

作为最后的手段,我可​​以添加IE8特定样式并使jquery成为条件,但我更愿意了解哪里出错了。有人可以帮忙吗?

0 个答案:

没有答案