【发布时间】:2014-09-02 08:44:45
【问题描述】:
这可能是一些愚蠢的事情,但我找不到我做错了什么。我一直在尝试使主体滚动到某个高度时出现 DOM 元素。所以我在窗口上设置了一个事件监听器来检查滚动,我检查了 body 的 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);
});
})()
当然,这是一个较大脚本的一部分,但我已将其缩小并创建了一个新的 sn-p 以确保此代码造成了问题。
【问题讨论】:
-
Insted of
document.getElementById("body"),尝试使用document.getElementById("html")。 -
认真的吗?我永远也猜不到。您能否详细说明为什么这是 Firefox 的问题?
-
这反过来了问题。在 Chrome 中检查 scrollTop 的 html 不起作用:P。
-
我之前也遇到过这个问题,但是使用了 JQuery - see my answer。在这个主题上显然存在一些浏览器问题:)
-
是的,有趣的事情。 jQuery 解决了一些跨浏览器问题,但我并没有加载整个 jQuery 库只是为了检查滚动:)。所以这对我来说是不行的。
标签: javascript firefox