Заставить JS определить позицию на странице?

0

Я получил сайт на одну страницу, до этого у него было 3 разных страницы, а ссылка на навигационную панель на текущую страницу повернулась к'id = "selected"

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

когда вы находитесь на этой странице. Теперь это немного сложнее, поскольку ссылки работают как якорные ссылки. Мне нужен скрипт, который будет определять, где прокручивается пользователь, и автоматически поворачивает привязку привязки к'id = "selected", когда пользователь прокручивает якорь.

Пример: http://jsfiddle.net/mbSXB/

  • 1
    И твой вопрос? ..
  • 0
    Таким образом, вы хотели бы иметь функцию, которая запускается, когда пользователь прокручивает страницу вниз, изменяя id данного элемента на selected . Какой у вас конкретный вопрос? Что вы пробовали?
Теги:

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');
    });
});
  • 0
    Привет @akrasman! Отличная работа, работает отлично! Не могли бы вы также добавить плавную прокрутку? Я новичок в JS, поэтому я не смог добавить его.
  • 0
    Плавная прокрутка, делая что? Когда вы нажимаете на навигационные ссылки?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню