Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Фиксация блока при прокрутке (https://javascript.ru/forum/misc/77211-fiksaciya-bloka-pri-prokrutke.html)

TheSanches 06.04.2019 20:14

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

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');
  }
}

рони 06.04.2019 20:54

TheSanches,
загрузили страницу, сохранили navContainerPosition, если scroll больше/меньше navContainerPosition добавили убрали класс.

TheSanches 06.04.2019 21:22

Спасибо


Часовой пояс GMT +3, время: 00:00.