Menu
Coddy logo textTech

Выпадающие меню

Часть раздела JavaScript in Action путешествия по HTML на Coddy — урок 15 из 27.

Выпадающие меню — это компоненты пользовательского интерфейса, которые открывают дополнительные опции при активации. Они часто используются в навигации для организации контента, не занимая при этом много места.

Сначала давайте создадим HTML-структуру для базового выпадающего списка:

<div class="dropdown">
  <button class="dropdown-toggle">Menu</button>
  <div class="dropdown-menu">
    <a href="#">Option 1</a>
    <a href="#">Option 2</a>
    <a href="#">Option 3</a>
  </div>
</div>

Теперь давайте добавим JavaScript для переключения видимости выпадающего списка:

// Получаем кнопку переключения выпадающего списка
const dropdownToggle = document.querySelector('.dropdown-toggle');

// Получаем меню выпадающего списка
const dropdownMenu = document.querySelector('.dropdown-menu');

// Добавляем прослушиватель события клика на кнопку переключения
dropdownToggle.addEventListener('click', function() {
  // Переключаем класс 'show' у меню выпадающего списка
  dropdownMenu.classList.toggle('show');
});

Наконец, добавьте базовый CSS, чтобы скрыть/показать выпадающее меню:

.dropdown-menu {
  display: none;
}

.dropdown-menu.show {
  display: block;
}

При нажатии на кнопку «Menu» появится выпадающее меню. Повторное нажатие скроет меню.

challenge icon

Задание

Легко

Создайте выпадающее меню, которое отображается или скрывается при нажатии на кнопку.

Шаги:

  1. В HTML:
    • Добавьте атрибут onclick к кнопке, который вызывает функцию с именем toggleDropdown при нажатии
  2. В JavaScript:
    • Создайте функцию с именем toggleDropdown
    • Внутри функции переключите класс "show" для элемента с ID “myDropdown”

Попробуйте сами

<!DOCTYPE html>
<html>
<head>
  <title>Save the Forests</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <header>
    <h1>Save the Forests</h1>
    <p>Even planting one or two trees makes a difference.</p>
  </header>

  <div class="dropdown">
    <button class="dropbtn">Learn More ▼</button>
    <div id="myDropdown" class="dropdown-content">
      <a href="#">Why forests matter</a>
      <a href="#">How to grow a tree</a>
      <a href="#">Community projects</a>
    </div>
  </div>

  <main>
    <section>
      <h2>Why Trees Are Important</h2>
      <p>
        Forests clean our air, give us oxygen, and are home to countless animals.  
        Each tree you plant helps fight climate change and supports life on Earth.
      </p>
    </section>
    <section>
      <h2> Start Small</h2>
      <p>
        Don’t wait for a big change. Start with just one or two trees in your yard or community.  
        Your small action inspires others!
      </p>
    </section>
  </main>

  <footer>
    <p> Together we can make the planet greener.</p>
  </footer>

  <script src="script.js"></script>
</body>
</html>
quiz iconПроверьте себя

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

Все уроки раздела JavaScript in Action