我真的需要您的帮助,因为我对JS不满意。
当refElement向下滚动时触摸浏览器顶部时,以下函数将触发特定的类(.active)。我想做的是提前1em或2em触发它。
那么我应该如何编辑呢?

function onScroll(event){
    var scrollPos = $(document).scrollTop();
    $('.links a').each(function () {
        var currLink = $(this);
        var refElement = $(currLink.attr("href"));
        if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
            $('.links ul li a').removeClass("active");
            currLink.addClass("active");
        }
        else{
            currLink.removeClass("active");
        }
    });
}

在这里,您可以现场观看:http://jsfiddle.net/cse_tushar/Dxtyu/141/

最佳答案

更改

if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {


if (refElement.position().top-5 <= scrollPos && refElement.position().top-5 + refElement.height() > scrollPos) {

将5调整为您想要的偏移高度。

10-01 09:11