【问题标题】:Change URL on scroll not working in chrome and opera滚动更改 URL 在 chrome 和 opera 中不起作用
【发布时间】:2016-05-25 13:12:22
【问题描述】:

当滚动到单页网站的某个部分时,我使用以下脚本更改 url 哈希。这在 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;
                }
            });
        });
    });

});

【问题讨论】:

  • 你关闭了 IIEF 吗?
  • 是的,这样代码是正确的。
  • 好的,我们可能需要一些 HTML。 Chrome 和/或 Opera 的控制台输出是否显示一些错误/警告消息?

标签: javascript jquery


【解决方案1】:

尝试使用$("body").offset().top 而不是window.pageYOffset

【讨论】:

  • 那么 url 就不再变化了。
猜你喜欢
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多