Highlight Menu Item when Scrolling Down to Section

前端 未结 5 704
天命终不由人
天命终不由人 2020-11-29 02:22

I know this question have been asked a million times on this forum, but none of the articles helped me reach a solution.

I made a little piece of jquery code that hi

5条回答
  •  旧时难觅i
    2020-11-29 02:54

    function navHighlight() {
        var scrollTop = $(document).scrollTop();
    
        $("section").each(function () {
            var xPos = $(this).position();
            var sectionPos = xPos.top;
            var sectionHeight = $(this).height();
            var overall = scrollTop + sectionHeight;
    
            if ((scrollTop + 20) >= sectionPos && scrollTop < overall) {
                $(this).addClass("SectionActive");
                $(this).prevAll().removeClass("SectionActive");
            }
    
            else if (scrollTop <= overall) {
                $(this).removeClass("SectionActive");
            }
    
            var xIndex = $(".SectionActive").index();
            var accIndex = xIndex + 1;
    
            $("nav li:nth-child(" + accIndex + ")").addClass("navActivePage").siblings().removeClass("navActivePage");
        });
    }
    
    
    .navActivePage {
        color: #fdc166;
    }
    
    
    $(document).scroll(function () {
        navHighlight();
    });
    

提交回复
热议问题