Как скрыть бургер при нажатии?

Ссылка скопирована
1 ответ

Есть бургер меню

Как скрыть бургер при нажатии?

При нажатии на ссылку (она якорная), нужно что бы бургер меню исчезало. А то получиться следующие:

Как скрыть бургер при нажатии?

Я написал вот такой код, но полагаю он не верный)

const menuLink = document.querySelectorAll(".menu-link"); const menu = document.querySelector(".menu");  menuLink.addEventListener("click", () => {   menu.style.display = 'none' })

const menuLink = document.querySelectorAll(".menu-link"); const menu = document.querySelector(".menu"); menuLink.addEventListener("click", () => { menu.style.display = 'none' })

Дополнительно:

Ваш подход почти верный, но у вас есть несколько ошибок.

1. `querySelectorAll` возвращает коллекцию элементов, а не отдельный элемент. Поэтому вам нужно перебрать все элементы коллекции с помощью цикла или использовать другой способ выбора одного элемента, если вы знаете, что в коллекции всегда будет только один элемент.

2. Вместо `display: 'none'` вам следует использовать `display: none`, без кавычек.

Вот исправленный код:

```javascript
const menuLinks = document.querySelectorAll(".menu-link");
const menu = document.querySelector(".menu");

for (let i = 0; i < menuLinks.length; i++) {
menuLinks[i].addEventListener("click", () => {
menu.style.display = 'none';
});
}
```

Этот код добавляет обработчик события на каждую ссылку меню и скрывает меню, устанавливая `display: none`, при клике на любую из ссылок.

Обратите внимание, что данный код предполагает, что у вас есть элементы с классом "menu-link", которые являются ссылками в меню, и элемент с классом "menu", который представляет само меню. Убедитесь, что ваши классы соответствуют структуре вашего HTML-кода.

querySelectorAll возвращает массив нужно его перебирать

  • Можешь пожалуйста написать более подробный код ?
  • const menuLink = document.querySelectorAll(".menu-link"); const menu = document.querySelector(".menu");  for (let el of menuLink) {   el.addEventListener("click", () =&gt; {     menu.style.display = 'none'   }); }

    const menuLink = document.querySelectorAll(".menu-link"); const menu = document.querySelector(".menu"); for (let el of menuLink) { el.addEventListener("click", () =&gt; { menu.style.display = 'none' }); }

  • senator, Благодарю :)
  • senator, Ещё вопрос если можно
    Как крестик можно крестик назад в бургер превратить при нажатии на ссылку ?
  • melodze, нужно на обработчик события добавить изменение стилей крестика. Transform translate и т.д
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

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

Пример кода на JavaScript:

document.addEventListener('DOMContentLoaded', function() {
  const burger = document.querySelector('.burger');
  const mobileMenu = document.querySelector('.mobile-menu');
 
  burger.addEventListener('click', function() {
    mobileMenu.style.display = 'none';
  });
});

document.addEventListener('DOMContentLoaded', function() { const burger = document.querySelector('.burger'); const mobileMenu = document.querySelector('.mobile-menu'); burger.addEventListener('click', function() { mobileMenu.style.display = 'none'; }); });

В данном примере мы добавляем обработчик события "click" на элемент с классом "burger", который представляет собой иконку бургера в мобильном меню. При клике на этот элемент, мы получаем доступ к элементу с классом "mobile-menu", который содержит само мобильное меню, и изменяем его стиль на "display: none", что скрывает его из виду.

Убедитесь, что классы элементов в вашем HTML коде совпадают с классами, указанными в JavaScript коде. Также учтите, что этот код приведен в качестве примера и может потребовать доработки в зависимости от структуры вашего сайта.

Надеюсь, это поможет вам скрыть бургер при нажатии на него! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно