1

我在这件事上看到了 FF 和 Chrome(版本 22.0.1229.94 m)之间的区别。FF 是对的(我会说)。

当向下滚动页面并点击然后刷新它时,回调

$(window).ready(function(){
    console.log( $(document).scrollTop() );
});

控制台应该说窗口准备好后滚动的数量,但在 Chrome 中它总是0

如何在 Chrome 中显示获取滚动顶部的数量?

4

2 回答 2

0

就像评论中的一些人说的那样,Chrome 加载页面,然后向下滚动。因此,当触发 jQuery 事件时,滚动为 0。您可以像这样做一些工作:

$(document).ready(function() {
    function getScroll() {
        var scroll = $(window).scrollTop();
        ...
    }
    getScroll();

    $(window).scroll(getScroll);
});​

因此,Chrome$(window).scroll();会在页面加载后立即触发。

编辑:在那里测试http://fiddle.jshell.net/azaret/Mt65R/show/light/

于 2012-10-25T08:36:11.777 回答
0

问题是 Chrome 中的document.ready()在浏览器向下滚动到上一点之前执行,这就是为什么你总是得到一个零值。此处提供了一个解决方案:当 url 包含锚点时,获取页面加载时网页滚动条的垂直位置

于 2012-11-26T16:48:24.893 回答