Скролл до элемента

ingmar
На сайте с 11.01.2009
Offline
111
718

Доброе время суток. Подскажите по коду.


if ($('.nav').length > 0) {
var pagePosition = $('.nav').offset().top;
}

$(window).scroll(function() {

if ($(document).scrollTop() < pagePosition) {
$('.nav-wrapper').removeClass('fixed');
} else {
$('.nav-wrapper').addClass('fixed');
}
});

Скрипт блок с классом .nav делает липким, если начинаем скролить страницу. Как сделать чтобы он останавливался перед футером с классом .footer

https://white-master.ru/ (https://white-master.ru/) разработка продающих сайтов
Ragnarok
На сайте с 25.06.2010
Offline
226
#1

ingmar, по аналогии:

вычисляем позицию футера


var footerPosition = $('.footer').offset().top;

и добавляем условие


if ($(document).scrollTop() < pagePosition || $(document).scrollTop() > footerPosition) {

не проверял, но как-то так

//TODO: перестать откладывать на потом
РАН
На сайте с 20.04.2016
Offline
43
#2
if ($(document).scrollTop() < pagePosition || $(document).scrollTop() > footerPosition) {

скорее всего условия с позицией футера нужно будет вынести отдельно, т.к. наверняка нужно будет поменять еще расположение, чтобы уступить место футеру.

ingmar
На сайте с 11.01.2009
Offline
111
#3
Ragnarok:
ingmar, по аналогии:
вычисляем позицию футера

var footerPosition = $('.footer').offset().top;

и добавляем условие

if ($(document).scrollTop() < pagePosition || $(document).scrollTop() > footerPosition) {

не проверял, но как-то так

Спасибо за помощь. Будет работать, если верхний край браузерного окна цепанет верх дива с футером. Но он до него не доезжает . Надо когда низ .nav касается верха .footer, то присваиваем новый класс, в котором допустим будет отступ. Пока не догоняю как.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий