显然.scrollTop()仅适用于webkit浏览器......这可能吗?这很奇怪,因为我在stackoverflow中发现了一些标题为“scrollTop仅适用于Firefox”的问题,但发生在我身上的是不同的
$(window).scroll(function() {
console.log($('body').scrollTop())
})
即使我用window
替换document
也没有任何变化。有趣的是,当我运行此功能时,我向下滚动页面的值仍为0但是数字0旁边的红色小徽章在每个像素滚动时都会发生变化......
在chrome和opera中,这非常有效。
我在Win7x64上运行Firefox 34.0,我正在使用jquery 2.1.3
答案 0 :(得分:0)
如果您需要滚动顶部位置,我更喜欢使用偏移:
$(window).scroll(function() {console.log($('body').offset().top) })
答案 1 :(得分:0)
这是因为WebKit为body
上的主文档设置了scrollTop,而其他浏览器则使用html
元素。但是,您可以使用window
代替'body'
或'html'
来获取主文档滚动位置。
$(window).scroll(function() {
console.log($(window).scrollTop())
});
BTW,在一个对象上调用jQuery不是世界上禁食的东西,滚动事件可以非常快速地触发。考虑在变量中缓存$(window)
以提高性能。
var $window = $(window);
$window.scroll(function() {
console.log($window.scrollTop())
});