Drop down меню (jQuery)
Last updated: 10.10.2025
Views: 132
Drop down меню можна створити без JavaScript, лише використовуючи CSS. За допомогою :hover. Але меню JavaScript має свої переваги. Найголовніше – це затримка зникнення випадаючих елементів.
Розглянемо просте меню з одним рівнем вкладеності. Ми напишемо код за допомогою jQuery. Хоча jQuery не є найсучаснішим інструментом, ця бібліотека продовжує використовуватися в багатьох проектах.
HTML
<ul class="nav">
<li>
<a href="#">Item 1</a>
<ul>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
</ul>
</li>
<li>
<a href="#">Item 2</a>
<ul>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
</ul>
</li>
<li>
<a href="#">Item 3</a>
<ul>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
</ul>
</li>
</ul>
JavaScript
(() => {
const itemMenu = $('.nav > li');
let close, flag;
itemMenu.on('mouseenter', function() {
if (flag === this) {
clearTimeout(close);
}
$(this).find('ul').stop().fadeIn();
});
itemMenu.on('mouseleave', function() {
close = setTimeout(() => {
$(this).find('ul').stop().fadeOut();
}, 300); //set delay 300 ms
flag = this;
});
})();
Вкладені пункти меню слід приховати за допомогою CSS
CSS
.nav li ul {
display: none;
}
Ви можете самостійно написати інші необхідні стилі залежно від вашого дизайну. Ви можете побачити приклад того, як може виглядати та працювати меню на Codepen: https://codepen.io/igorrybalko/pen/XJrparJ
Схожі записи:
-
Способи створення об’єктів у JavaScript
Існує декілька способів створення об’єктів у JavaScript. Тип даних Object відіграє вирішальну роль у JS. Об’єкт — це невпорядкований набір пар ключ-значення. Може містити...
-
Як визначити операційну систему (ОС) за допомогою JavaScript
Іноді під час створення веб-застосунків або веб-сайтів необхідно визначити операційну систему користувача. Це може бути корисним для застосування різних стилів CSS, збору...
-
Як отримати максимальне значення в масиві JavaScript
Коротка замітка про пошук максимального значення в масиві JavaScript із числовими значеннями. Об’єкт Array в JS не має власного методу max. Щоб знайти максимальне знач...
Залишити відповідь