为什么scrollTop在firefox中不起作用?

时间:2014-09-02 08:44:46

标签: javascript firefox

这可能是愚蠢的事,但我无法找到我做错的事。当主体滚动到某个高度时,我一直试图让DOM元素出现。所以我在窗口上设置了一个eventlistener来检查滚动,然后检查正文的scrollTop以获得滚动位置。

这在Chrome中完美运行,但在Firefox中,无论我尝试什么,scrollTop始终保持为0。我也尝试检查其他元素的scrollTop,但这也没有注册。我无法找到关于scrollTop的任何文档,这些文档解释了它在不同浏览器中的工作原理。有谁知道为什么这不适用于Firefox?或者我只是以愚蠢的方式做这件事?

(function () {

    var element = document.getElementById("body");

    window.addEventListener('scroll', function (e){
      var scrollPos = element.scrollTop;
      console.log(scrollPos);
    });
})()

当然,这是一个较大的脚本的一部分,但我已经缩小了它并创建了一个新的代码段,以确保此代码产生问题。

1 个答案:

答案 0 :(得分:0)

找到另一种方法。我正在检查window.pageYOffset而不是元素的scrollTop。作为额外的奖励:这会保存DOM查询以获取要检查的特定元素。

对回答此问题的人的信任:Wrap the document or window object to check scroll value?