Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2019, 20:14
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

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

window.onscroll = function(){
  var navContainer = document.querySelector('.nav');
  var navContainerPosition;
  navContainerPosition = navContainer.getBoundingClientRect();
  if(navContainerPosition.top < -1){
    navContainer.classList.add('nav-fixed');
  }
  else{
    navContainer.classList.remove('nav-fixed');
  }
}
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2019, 20:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

TheSanches,
загрузили страницу, сохранили navContainerPosition, если scroll больше/меньше navContainerPosition добавили убрали класс.
Ответить с цитированием
  #3 (permalink)  
Старый 06.04.2019, 21:22
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фиксация сайдбара при прокрутке webmasterhtml Элементы интерфейса 11 11.07.2018 16:02
Открытие\закрытие блока при нажатии на ссылку.Помогите kostya1986 Элементы интерфейса 2 19.01.2015 16:34
Исчезаение блока при прокрутке страницы gogogo Общие вопросы Javascript 3 28.12.2014 16:45
Фиксация блока DIV при сворачивании другого блока DIV kacnepbI4 jQuery 2 04.04.2011 14:15
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21