0

我有一个单页网站,在此之前它有 3 个不同的页面,导航栏指向当前页面的链接变成了 'id="selected'

#selected {
background-color:white;
color: #645406;
cursor: default;
}

当您在该页面上时。现在它有点难,因为链接就像锚链接一样工作。我需要一个脚本来检测用户滚动的位置,并在用户滚动锚点时自动将锚点的链接转到“id="selected"”。

示例:http: //jsfiddle.net/mbSXB/

4

1 回答 1

1

试试这个http://jsfiddle.net/8NKqf/1/

$(function() {
    var anchors = $('.anchor');
    var navLinks = $('.navigointi a');

    $(window).scroll(function() {
        var scrollTop    = $(window).scrollTop();
        var clientHeight = document.documentElement.clientHeight;
        var activeSectionAnchor, hash;

        anchors.each(function() {
            if ($(this).offset().top < scrollTop + clientHeight) {
                activeSectionAnchor = $(this);
            }
        });

        hash = "#" + activeSectionAnchor.attr('name');

        activeLink = navLinks.removeClass('selected').filter('[href="' + hash + '"]');

        activeLink.addClass('selected');
    });
});
于 2013-11-07T15:57:43.993 回答