0

此代码在 Firefox 中有效,但在 Chrome v.23 中无效。当我在调试器中跟踪代码时,一切正常,但Chrome 没有更改 class。有任何想法吗?

$(document).scroll(function () {

    $('a.nav').each(function () {

        var divTop = $('#' + this.title).offset().top;
        var distance = divTop - $("html").scrollTop();
        if (distance > 210 && distance < 255) {

            $('a.active').removeClass('active');
            $(this).addClass('active');

        }
    });
});
4

1 回答 1

0

问题是针对滚动顶部的 $("html") 。

请参阅此 SO 线程:jQuery scrollTop() 在 Safari 或 Chrome (Windows) 中似乎不起作用

有关您的场景实际发生的情况的详细信息,请参阅第二个答案,即尝试使用 $('body')

不过,前两个解决方案中的任何一个都应该适合您。

于 2012-12-04T13:36:12.440 回答