我在这件事上看到了 FF 和 Chrome(版本 22.0.1229.94 m)之间的区别。FF 是对的(我会说)。
当向下滚动页面并点击然后刷新它时,回调
$(window).ready(function(){
console.log( $(document).scrollTop() );
});
控制台应该说窗口准备好后滚动的数量,但在 Chrome 中它总是0
如何在 Chrome 中显示获取滚动顶部的数量?
我在这件事上看到了 FF 和 Chrome(版本 22.0.1229.94 m)之间的区别。FF 是对的(我会说)。
当向下滚动页面并点击然后刷新它时,回调
$(window).ready(function(){
console.log( $(document).scrollTop() );
});
控制台应该说窗口准备好后滚动的数量,但在 Chrome 中它总是0
如何在 Chrome 中显示获取滚动顶部的数量?
就像评论中的一些人说的那样,Chrome 加载页面,然后向下滚动。因此,当触发 jQuery 事件时,滚动为 0。您可以像这样做一些工作:
$(document).ready(function() {
function getScroll() {
var scroll = $(window).scrollTop();
...
}
getScroll();
$(window).scroll(getScroll);
});
因此,Chrome$(window).scroll();
会在页面加载后立即触发。
问题是 Chrome 中的document.ready()在浏览器向下滚动到上一点之前执行,这就是为什么你总是得到一个零值。此处提供了一个解决方案:当 url 包含锚点时,获取页面加载时网页滚动条的垂直位置