Menu
Coddy logo textTech

Выпадающий список

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

Компонент выпадающего списка — это распространенный элемент пользовательского интерфейса, который отображает дополнительный контент при клике.

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

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

Добавьте базовый CSS для стилизации выпадающего списка:

.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown-menu {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  z-index: 1;
}
.show {
  display: block;
}

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

const dropdownToggle = document.querySelector('.dropdown-toggle');
const dropdownMenu = document.querySelector('.dropdown-menu');

dropdownToggle.addEventListener('click', function() {
  dropdownMenu.classList.toggle('show');
});

При нажатии на кнопку JavaScript добавляет или удаляет класс 'show', который управляет видимостью выпадающего меню.

challenge icon

Задание

Легко

Ваша задача:

  1. Добавьте третий пункт меню с названием “Logout” с классом logout в выпадающее меню.
  2. Завершите обработчик события клика, добавив строку, которая переключает класс "show" в выпадающем меню.

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

<!DOCTYPE html>
<html>
<head>
  <title>Dropdown Challenge</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <h2>Welcome to the Dashboard</h2>
  <p>Click the button below to open your profile menu:</p>

  <div id="profileDropdown" class="dropdown">
    <button class="dropdown-toggle">
      My Profile
    </button>
    <div class="dropdown-menu">
      <a href="#">View Profile</a>
      <a href="#">Settings</a>
    </div>
  </div>

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

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

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