Одностраничная навигация offset()
Здравствуйте, рад обратиться)
Есть боковое фиксированое меню с силками на якоря. Нужно чтоб расстаяние к целевой секций измерялось относительно первой секции, а не от текущей. Т.е. первый раз когда пользователь находиться в первой секции єкрана, меню срабатывает правильно переходя в заданную секцию, все последующие разы нет, так как расстаяние уже считается от текущей секции, а не от первой. $(".menu").on("click","a", function (event) { event.preventDefault(); $(this).parent().addClass('active').siblings().removeClass('active'); var id = $(this).attr('href'), top = $(id).offset().top; container.css('top', -top); console.log("top = "+top); }); Есть идея добавлять предадущее значение top (скажем с второй секции вернуться на первую 384+(-384)=0), но не знаю как реализовать такую схему. |
Наверное вопрос слишком сложный :D
|
Vandeko,
описание непонятно и макета нет чтоб понять о чём речь. |
Спасибо что дали возможность разобрался самому).
В следующий раз опишу вопрос подробней. Решение: var top2=0;//глобальная переменная $(".menu").on("click","a", function (event) { event.preventDefault(); $(this).parent().addClass('active').siblings().removeClass('active'); var id = $(this).attr('href'), top = $(id).offset().top; top2 +=top;//суммирование расстаяний container.css('top', -top2); console.log("top = "+top); }); }); |
Часовой пояс GMT +3, время: 17:26. |