Как сделать меню на сайте, которое будет прилипать к верхнему краю экрана при прокрутке?

Что вызвало ошибку "TypeError: document.querySelector (...).offset is not a function" в моем JavaScript коде?
  • 9 августа 2024 г. 8:23
Ответы на вопрос 2
Для создания меню, которое будет прилипать к верхнему краю экрана при прокрутке, необходимо использовать CSS свойство position: fixed для меню. Вот пример CSS стилей:

```css
.menu {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #f8f8f8;
  z-index: 1000;
}
```

Затем, чтобы прикрепить это меню к верхнему краю экрана при прокрутке, вы можете использовать JavaScript для добавления класса к меню при прокрутке страницы. Вот пример JavaScript кода:

```javascript
window.addEventListener('scroll', function() {
  const menu = document.querySelector('.menu');
  if (window.scrollY > 100) {
    menu.classList.add('fixed-menu');
  } else {
    menu.classList.remove('fixed-menu');
  }
});
```

Ошибка "TypeError: document.querySelector (...).offset is not a function" возникает, потому что в вашем JavaScript коде вы пытаетесь использовать метод offset у элемента, который возвращает null или undefined. Возможно, это происходит из-за того, что вы неправильно указываете селектор или элемент не был найден на странице.

Проверьте правильность селектора в методе document.querySelector(), убедитесь, что элемент действительно существует на странице, прежде чем пытаться использовать его методы, такие как offset.
Вообще-то прилипание гораздо проще сделать стандартным свойством CSS 
https://developer.mozilla.org/en-US/docs/Web/CSS/p...
И не выдумывать велосипед
Похожие вопросы