.scrollTop() 仅适用于 webkit?
.scrollTop() works ONLY with webkit?
显然 .scrollTop() 仅适用于 webkit 浏览器...这可能吗?这很奇怪,因为我在 Whosebug 中发现了一些标题为 "scrollTop works only in Firefox" 的问题,但发生在我身上的是不同的
$(window).scroll(function() {
console.log($('body').scrollTop())
})
即使我将 window
替换为 document
也没有任何变化。有趣的是,当我 运行 这个函数和我向下滚动页面时,值仍然是 0 但是数字 0 旁边的红色小徽章在每个像素滚动时都会改变...
在 chrome 和歌剧中这非常有效。
我 运行 在 Win7x64 上使用 Firefox 34.0,我正在使用 jquery 2.1.3
如果你需要scrolltop位置,我更喜欢使用offset:
$(window).scroll(function() {console.log($('body').offset().top) })
这是因为WebKit 将主文档的scrollTop 设置在body
上,而其他浏览器使用html
元素。但是,您可以只使用 window
而不是 'body'
或 'html'
来获取主文档滚动位置。
$(window).scroll(function() {
console.log($(window).scrollTop())
});
顺便说一句,在对象上调用 jQuery 并不是世界上最快速的事情,滚动事件可以非常迅速地触发。考虑在变量中缓存 $(window)
以提高性能。
var $window = $(window);
$window.scroll(function() {
console.log($window.scrollTop())
});
显然 .scrollTop() 仅适用于 webkit 浏览器...这可能吗?这很奇怪,因为我在 Whosebug 中发现了一些标题为 "scrollTop works only in Firefox" 的问题,但发生在我身上的是不同的
$(window).scroll(function() {
console.log($('body').scrollTop())
})
即使我将 window
替换为 document
也没有任何变化。有趣的是,当我 运行 这个函数和我向下滚动页面时,值仍然是 0 但是数字 0 旁边的红色小徽章在每个像素滚动时都会改变...
在 chrome 和歌剧中这非常有效。
我 运行 在 Win7x64 上使用 Firefox 34.0,我正在使用 jquery 2.1.3
如果你需要scrolltop位置,我更喜欢使用offset:
$(window).scroll(function() {console.log($('body').offset().top) })
这是因为WebKit 将主文档的scrollTop 设置在body
上,而其他浏览器使用html
元素。但是,您可以只使用 window
而不是 'body'
或 'html'
来获取主文档滚动位置。
$(window).scroll(function() {
console.log($(window).scrollTop())
});
顺便说一句,在对象上调用 jQuery 并不是世界上最快速的事情,滚动事件可以非常迅速地触发。考虑在变量中缓存 $(window)
以提高性能。
var $window = $(window);
$window.scroll(function() {
console.log($window.scrollTop())
});