Фиксированная панель навигации — важная и удобная функция при использовании веб-сайтов.

// Make navbar transparent when it is on the top
const navbar = document.querySelector('#navbar');
const navbarHeight = navbar.getBoundingClientRect().height;

window.addEventListener('scroll', function() {
       // add padding top to show content behind navbar
      if (window.scrollY > navbarHeight) {
        navbar.classList.add('navbar--dark');      //adding CSS effect
       // remove padding top from body        
      } else {
        navbar.classList.remove('navbar--dark');  // removing CSS effect
      } 
  });

При прокрутке

1–1) Используйте — addEventListener («прокрутка»)

// Use Scrolling Event : 'scroll'
window.addEventListener('scroll',e=>{
 // Add function when scrolling
});

1–2)Использование — scrollY :scrollY — это свойство окна, доступное только для чтения. Таким образом, он сообщает нам, сколько вертикальных прокруток произошло в пикселях.

document.addEventListener('scroll;, ( ) => { console.log(window.scrollY); }); 

Измените элементы пользовательского интерфейса, когда панель навигации опущена по высоте

2–1) Поиск navbarHeight: используйте getBoundingClientRect()

Метод Element.getBoundingClientRect() возвращает объект DOMRect, предоставляющий информацию о размере и положении элемента относительно окна просмотра.

  • const navbar = document.querySelector('#navbar');
  • -› Определите и узнайте, что такое панель навигации
  • const navbarHeight = navbar.getBoundingClientRect().height;
  • -> Определите, что такое navbarHeight / Добавьте .height, чтобы получить значение высоты в getBoundingClientRect()
  • console.log(`navbarHeight: ${navbarHeight}`);
  • -› Проверить с помощью navbarHeight console.log

2–2) Замените элементы пользовательского интерфейса

-› Добавляйте/удаляйте эффекты CSS, используя classList.add и classList.delete

navbar.classList.add('navbar--dark');
navbar.classList.remove('navbar--dark');