Одностраничная навигация 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, время: 13:21. |