Skip to content

Repository files navigation

Accordion

Simple accordion package

Recommended markup

Single

A single accordion.

<div class="accordion js-accordion>
<div class="accordion__head js-accordion__trigger">Accordion title</div>
<div class="accordion__wrap">
<div class="richtext accordion__body">
<p>This is some sample text</p>
</div>
</div>
</div>
varaccordion=newAccordion({selector: '.js-accordion',selectorTrigger: '.js-accordion__trigger'});

List

A list of accordions. When an accordion is opened, any currently open accordions are closed.

<divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger">Accordion title 1</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is some sample text</p></div></div></div><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger">Accordion title 2</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is some more sample text</p></div></div></div><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger">Accordion title 3</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is a little but more sample text</p></div></div></div>
varaccordion=newAccordion({selector: '.js-accordion',selectorTrigger: '.js-accordion__trigger',limit: 'all'});

Groups

A list of accordions, split into groups. When an accordion is opened, any currently open accordions that belong to the same group (e.g. group_1, group_2) are closed.

<h1>Group 1</h1><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger" data-accordion-group="group_1">Accordion title 1.1</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is some sample text</p></div></div></div><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger" data-accordion-group="group_1">Accordion title 1.2</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is some more sample text</p></div></div></div><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger" data-accordion-group="group_1">Accordion title 1.3</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is a little but more sample text</p></div></div></div><h1>Group 2</h1><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger" data-accordion-group="group_2">Accordion title 2.1</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is some sample text</p></div></div></div><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger" data-accordion-group="group_2">Accordion title 2.2</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is some more sample text</p></div></div></div><divclass="accordion js-accordion> <div class="accordion__headjs-accordion__trigger" data-accordion-group="group_2">Accordion title 2.3</div><divclass="accordion__wrap"><divclass="richtext accordion__body"><p>This is a little but more sample text</p></div></div></div>
varaccordion=newAccordion({selector: '.js-accordion',selectorTrigger: '.js-accordion__trigger',limit: 'group'});

Options

OptionTypedefaultDescription
selectorselector'.js-accordion'The element that is the base of the accordion
selectorTriggerselector'.js-accordion__trigger'The element that acts as the trigger within the accordion, ideally within the top of the selector
limitstringnullDetermine if currently open accordions should be closed when a new one is opened. 'group' affects those within the same group, 'all' affects all within the instance of the plugin, null ignores this
scrollTobooleantrueShould the opened accordion be scrolled into view?
preDelayint1Time elapsed before the accordion opens or closes
postDelayint500Time elapsed before the afterOpen or afterClose function is called
scrollDurationint500Time elapsed for the accordion to be scrolled into view
openOnLoadboolean, objectfalseShould an accordion be opened on load? If the boolean value is true, then the first item is opened. If a valid element selector is provided, then this item is opened
animatebooleantrueShould the accordion use animations?
togglingbooleantrueCan an accordion be closed by clicking on it when it is open
beforeOpenfunctionemptyA function to be called before the accordion is opened
afterOpenfunctionemptyA function to be called after the accordion is opened
beforeClosefunctionemptyA function to be called before the accordion is closed
afterClosefunctionemptyA function to be called after the accordion is closed
afterResizefunctionemptyA function to be called after the window has been resized

About

Simple accordion package

Topics

Resources

Stars

0 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages