Плагін jQuery Accordion
Last updated: 10.10.2025
Views: 95
На сайтах часто використовується акордеон. Цей елемент популярний і в той же час зручний. Акордеон допомагає структурувати контент і економить місце. У своїй роботі я часто використовував jQuery (і іноді використовую його зараз). І за допомогою цієї бібліотеки я написав плагін акордеону для використання в різних проектах. Плагін базується на методі slideToggle(). Можливо комусь, цей плагін також буде корисним. Тому і я опублікував код у цій замітці. Крім того, в одній із попередніх статей ми розглянули плагін jQuery табів.
HTML
<div class="accordion">
<div class="acc-title">
Caption 1
</div>
<div class="acc-cont">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deleniti eius quisquam excepturi eaque a soluta laborum delectus in culpa! Necessitatibus ea obcaecati.
</div>
<div class="acc-title">
Caption 2
</div>
<div class="acc-cont">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deleniti eius quisquam excepturi eaque a soluta laborum delectus in culpa! Necessitatibus ea obcaecati.
</div>
<div class="acc-title">
Caption 3
</div>
<div class="acc-cont">
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages.
</div>
</div>
CSS
/* required styles */
.acc-cont {
display: none; /*hide content*/
}
Ініціалізація
$(() => {
$('.accordion').simpleAccordion();
});
Ініціалізація з параметрами
$(() => {
$('.accordion').simpleAccordion({
'title' : '.othertitle',
'content': '.othercontent',
'cb': callbackFunction,
'speed': 500
});
});
Код плагіна
$.fn.simpleAccordion = function(options) {
const settings = $.extend({
'title': '.acc-title',
'content': '.acc-cont',
'cb': '',
'speed': 400
}, options);
const accTitle = $(this).find(settings.title);
accTitle.on('click', function() {
if (!$(this).next().is(':visible')) {
$(settings.content).slideUp(settings.speed);
$(settings.title).removeClass('active');
}
$(this).next().stop().slideToggle(settings.speed);
$(this).toggleClass('active');
if (settings.cb) {
settings.cb();
}
});
};
Ви можете побачити приклад використання плагіна jQuery на Codepen: https://codepen.io/igorrybalko/pen/EaYNyWx
Схожі записи:
-
Робота з файлами cookie в JavaScript
Cookie (cookie, web cookie або cookie браузера) - це рядкова інформація, яку можна зберігати в браузері і передавати на сервер. Максимальний розмір для однієї куки - 409...
-
Таймер зворотного відліку на JavaScript
Таймери зворотного відліку зазвичай використовуються на веб-сайтах, що рекламують товари, послуги або спеціальні пропозиції. Ви часто можете побачити їх на цільових сторі...
-
Як клонувати (копіювати) об’єкт і масив у JavaScript
Клонування об'єктів і масивів - не така проста тема, як може здатися на перший погляд. Клонування об’єктів і масивів у JavaScript можна здійснювати за допомогою різних ...
Залишити відповідь