@alexeeey_kuznetsov

Offset().top перестает работать после открутки от верха страницы более чем на 800px, как исправить?

Мне необходимо, чтобы при открутке страницы от верха больше чем 1 пиксель меню становилось с темным бэкграундом (добавляю класс). Проблему заметил когда стал до конца сайта или дальше середины прокручивать, то меню при возвращении в изначальное положение не становилось с прежней прозрачностью в нулевом положении.
После проверки, заметил, что при открутке меньше чем на 800 пикселей, он ещё возвращает, а если больше, то уже нет и при этом не записывает значение в консоль.
В чём может быть причина?
Ничего похожего в инете не нашёл.
На codepen не срабатывает вообще добавление класса, полагаю из-за того, что считывается значение отступа от navbar, а он не в 0 положении находится от верха документа.
https://codepen.io/alexeeey_kuznetsov/pen/EBrWmv?e...
5d25ef1535faf408265682.png
Надеюсь на помощь.
UPD:
Евгений помог всё верно, но как оказалось, после функции дальше в коде висел обработчик на скролл для добавления карты при докрутке до определенного блока, который в конце функции снимался, что и не давало отслеживать изначальной функции количество пикселей.
Решил эту проблему просто (хотя, не знаю какие последствия от этого и могут ли они быть) - поменял обработчик по скроллу для карты с window на document.
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@ijustwanttobeacool
В самой последней строчке Вы не добавили закрывающуюся фигурную скобку перед круглой. С ней всё работает.
Как вариант вместо сложной проверки в 6 сточке можно просто написать if (scrollY > 0)

https://codepen.io/anon/pen/gNqWPp#anon-login

upd проверяйте свой код в любом IDE хотя бы сначала, он все лишние/недостающие скобочки вам подскажет и покажет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы