更改滚动中的URL不在chrome和opera中工作

时间:2016-05-25 13:12:23

标签: javascript jquery

在滚动到单页网站的某个部分时,我使用以下脚本更改网址哈希。这在ie和firefox中工作得很完美,但在chrome和opera中却没有,我无法弄明白。

(jQuery)(function ($) {

    // CHANGE URL ON SCROLL
    $(function () {
        var currentHash = "#intro"
        $(document).scroll(function () {
            $('section').each(function () {
                var top = window.pageYOffset;
                var distance = top - $(this).offset().top;
                var hash = $(this).attr('id');

                if (distance < 30 && distance > -30 && currentHash != hash) {
                    window.location.hash = (hash);
                    currentHash = hash;
                }
            });
        });
    });

});

1 个答案:

答案 0 :(得分:0)

尝试使用$("body").offset().top代替window.pageYOffset