Выпадающие меню
Часть раздела JavaScript в действии путешествия по HTML на Coddy. Урок 15 из 27.
Dropdown menus — это компоненты пользовательского интерфейса, которые отображают дополнительные параметры при активации. Они обычно используются в навигации для организации содержимого, не занимая слишком много места.
Сначала создадим 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, чтобы переключать видимость выпадающего списка:
// Get the dropdown toggle button
const dropdownToggle = document.querySelector('.dropdown-toggle');
// Get the dropdown menu
const dropdownMenu = document.querySelector('.dropdown-menu');
// Add click event listener to the toggle button
dropdownToggle.addEventListener('click', function() {
// Toggle the 'show' class on the dropdown menu
dropdownMenu.classList.toggle('show');
});Наконец, добавьте немного базового CSS, чтобы скрывать/показывать раскрывающееся меню:
.dropdown-menu {
display: none;
}
.dropdown-menu.show {
display: block;
}Когда вы click по button "Menu", появится dropdown menu. Если click по нему ещё раз, menu будет скрыто.
Задание
ЛегкоСоздайте раскрывающееся меню, которое показывается/скрывается при нажатии кнопки.
Шаги:
- В HTML:
- Добавьте атрибут
onclickк button, который при нажатии вызывает function с именемtoggleDropdown
- Добавьте атрибут
- В JavaScript:
- Создайте function с именем
toggleDropdown - Внутри function переключите class "show" у элемента с ID “myDropdown”
- Создайте function с именем
Попробуйте сами
<!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>
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела JavaScript в действии
1Интерактивность/компоненты UI
ВкладкиАккордеон (развертывание/свертывание)Модальное окно (открытие/закрытие)Выпадающий список3Уведомления и обратная связь
Всплывающее сообщениеБаннеры с возможностью закрытияИндикаторы загрузкиПотренируйтесь самостоятельно: Песочница Web