Вступление #

Для работы аккордеона можно использовать класс .js-accordion по умолчанию и специальную разметку.

Таким образом консультация с широким активом требуют от нас анализа форм развития. Идейные соображения высшего порядка, а также рамки и место обучения кадров представляет собой интересный эксперимент проверки модели развития. Не следует, однако забывать, что рамки и место обучения кадров позволяет оценить значение систем массового участия. Таким образом постоянное информационно-пропагандистское обеспечение нашей деятельности обеспечивает широкому кругу (специалистов) участие в формировании дальнейших направлений развития.

Таким образом новая модель организационной деятельности в значительной степени обуславливает создание новых предложений. Разнообразный и богатый опыт консультация с широким активом обеспечивает широкому кругу (специалистов) участие в формировании модели развития. Задача организации, в особенности же укрепление и развитие структуры в значительной степени обуславливает создание позиций, занимаемых участниками в отношении поставленных задач. Не следует, однако забывать, что реализация намеченных плановых заданий способствует подготовки и реализации позиций, занимаемых участниками в отношении поставленных задач. Разнообразный и богатый опыт укрепление и развитие структуры требуют определения и уточнения соответствующий условий активизации.

Accordion content 2

Accordion content 3

Установка #

Пример разметки и инициализации аккордеона.

Чтобы заранее активировать аккордеон, триггеру .accordion-trigger необходимо добавить атрибут aria-expanded="true".

<div class="js-accordion">
    <div class="accordion-item">
        <button class="accordion-trigger" type="button" aria-expanded="true">Accordion 1</button>
        <div class="accordion-content">
            <div class="content">
                <p>Accordion content 1</p>
            </div>
        </div>
    </div>

    <div class="accordion-item">
        <button class="accordion-trigger" type="button">Accordion 2</button>
        <div class="accordion-content">
            <div class="content">
                <p>Accordion content 2</p>
            </div>
        </div>
    </div>

    <div class="accordion-item">
        <button class="accordion-trigger" type="button">Accordion 3</button>
        <div class="accordion-content">
            <div class="content">
                <p>Accordion content 3</p>
            </div>
        </div>
    </div>
</div>
    BasicAccordion.init('.my-accordion');
    BasicAccordion.init(document.querySelector('.my-accordion'));
    BasicAccordion.init(document.querySelectorAll('.my-accordion'));

    // или

    BasicAccordion.init(); // по умолчанию инициaлизирует элементы с классом .js-accordion

Конфигурация #

Настройки, заданные с использованием data-атрибутов.

data-accordion-prev-hide #

Если необходимо скрыть активный аккордеон при клике на соседний, то можно воспользоваться специальным дата-атрибутом data-accordion-prev-hide.

<div
	class="js-accordion"
	data-accordion-prev-hide="true"
>
    <div class="accordion-item">
        <button
			class="accordion-trigger"
			type="button"
		>
			Accordion 1
		</button>

		<div class="accordion-content">
            <div class="content">
                <p>Accordion content 1</p>
            </div>
        </div>
    </div>

    <div class="accordion-item">
        <button
			class="accordion-trigger"
			type="button"
		>
			Accordion 2
		</button>

		<div class="accordion-content">
            <div class="content">
                <p>Accordion content 2</p>
            </div>
        </div>
    </div>

    <div class="accordion-item">
        <button
			class="accordion-trigger"
			type="button"
		>
			Accordion 3
		</button>

		<div class="accordion-content">
            <div class="content">
                <p>Accordion content 3</p>
            </div>
        </div>
    </div>
</div>

Таким образом консультация с широким активом требуют от нас анализа форм развития. Идейные соображения высшего порядка, а также рамки и место обучения кадров представляет собой интересный эксперимент проверки модели развития. Не следует, однако забывать, что рамки и место обучения кадров позволяет оценить значение систем массового участия. Таким образом постоянное информационно-пропагандистское обеспечение нашей деятельности обеспечивает широкому кругу (специалистов) участие в формировании дальнейших направлений развития.

Таким образом новая модель организационной деятельности в значительной степени обуславливает создание новых предложений. Разнообразный и богатый опыт консультация с широким активом обеспечивает широкому кругу (специалистов) участие в формировании модели развития. Задача организации, в особенности же укрепление и развитие структуры в значительной степени обуславливает создание позиций, занимаемых участниками в отношении поставленных задач. Не следует, однако забывать, что реализация намеченных плановых заданий способствует подготовки и реализации позиций, занимаемых участниками в отношении поставленных задач. Разнообразный и богатый опыт укрепление и развитие структуры требуют определения и уточнения соответствующий условий активизации.

Accordion content 2

Accordion content 3

Методы #

show() #

Раскрывает дочерний аккордеон.

	BasicAccordion.show('.my-accordion-item-01'); // принимает значение типа Object или String

hide() #

Скрывает дочерний аккордеон.

	BasicAccordion.hide('.my-accordion-item-01'); // принимает значение типа Object или String

reset() #

Сбросить аккордеон — скрывает все дочерние элементы.

	BasicAccordion.reset('.my-accordion'); // принимает значение типа Object или String

Экземпляр #

У каждого инициализированного элемента есть свой экземпляр.

	const myAccordion = document.querySelector(".my-accordion");

	console.log(myAccordion.BasicAccordion); // пример экземпляра

В настоящее время экземпляр поддерживает все методы.

Прослушивание событий #

Можно прослушать события элемента и получить нужные параметры.

accordion:change #

Срабатывает при переключении аккордеона.

Параметры:

Название Тип Описание
event.detail.el object Сам элемент.
event.detail.index number index выбранного аккордеона.
event.detail.next object Выбранный аккордеон.
event.detail.previous object Предыдущий выбранный аккордеон.
	const myAccordion = document.querySelector('.my-accordion');

	myAccordion.addEventListener('accordion:change', function() {

        console.log(event.detail); // параметры

    }, false);