zebra_accordion
v1.3.0
Published
A lightweight, customizable, and cross-browser jQuery accordion plugin with easy configuration options
Downloads
80
Maintainers
Readme
Zebra Accordion
A lightweight, customizable, and cross-browser jQuery accordion plugin - 3KB minified (1.3KB gzipped) with easy configuration options
Zebra Accordion is a lightweight, user-friendly jQuery plugin designed for creating smooth, interactive accordion menus. Its compact size (3KB minified) ensures your web projects remain fast and responsive. The plugin's extensive customization options allow developers to easily modify animations, durations, and other behavior for a tailored user experience. With cross-browser support and simple implementation, Zebra_Accordion is an excellent choice for building collapsible content sections, FAQs, and sidebars that enhance usability without compromising performance.
Key features of this jQuery accordion plugin
- no additional markup required other than a basic definition list
- no default style allowing you to fully customize it to suit your needs
- works with responsive layouts
- allows for a single expanded tab at a time, or for any number of tabs to be expanded/collapsed
- allows for tabs to expand on mouse over, not just on click
- if an expanded tab's content is not in the viewport it automatically scrolls the browser window so that the content is visible
- callback functions can be used for further customizations
- works in pretty much any browser - Firefox, Chrome, Safari, Edge, Opera and Internet Explorer 6+
🎂 Support the development of this project
Your support means a lot and it keeps me motivated to keep working on open source projects. If you like this project please ⭐ it by clicking on the star button at the top of the page. If you are feeling generous, you can buy me a coffee by donating through PayPal, or you can become a sponsor. Either way - Thank you! 🎉
Demo
See the demos
Requirements
Zebra Accordion has no dependencies other than jQuery 1.7.0+
Installation
Zebra Accordion is available as a npm package. To install it use:
# the "--save" argument adds the plugin as a dependency in packages.json
npm install zebra_accordion --save
How to use
First, load jQuery from a CDN and provide a fallback to a local source like:
<script src="https://code.jquery.com/jquery-3.5.0.min.js"></script>
<script>window.jQuery || document.write('<script src="path/to/jquery-3.5.0.js"><\/script>')</script>
Load the Zebra Accordion jQuery plugin:
<script src="path/to/zebra_accordion.min.js"></script>
Alternatively, you can load Zebra Accordion from JSDelivr CDN like this:
<!-- for the most recent version, not recommended in production -->
<script
src="https://cdn.jsdelivr.net/npm/zebra_accordion@latest/dist/zebra_accordion.min.js"></script>
<!-- for a specific version -->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/zebra_accordion.min.js"></script>
<!-- replacing "min" with "src" will serve you the non-compressed version -->
Load the style sheet file from a local source
<link rel="stylesheet" href="path/to/zebra_accordion.min.css">
...or from JSDelivr CDN
<!-- for the most recent version -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/zebra_accordion@latest/dist/zebra_accordion.min.css">
<!-- for a specific version -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/zebra_accordion.min.css">
<!-- replacing "min" with "src" will serve you the non-compressed version -->
You need a basic definition list for your HTML markup
Don't forget to add the
Zebra Accordion
class to the list container! If you'll have a look you will see that all it does is to setdisplay:hidden
the all the tabs and addcursor:pointer
to titles, so it will not add overweight to your CSS and that you will have to style the accordion to suit your needs.
<dl class="Zebra_Accordion">
<dt>Lorem ipsum dolor sit amet consectetuer</dt>
<dd>
Lorem ipsum dolor sit amet consectetuer facilisis lacinia sapien ac et.
Quis hendrerit neque congue pretium iaculis justo laoreet orci elit condimentum.
Eros natoque Curabitur accumsan eget quis porttitor Sed Vestibulum amet sed.
</dd>
<dt>Lorem ipsum dolor sit amet consectetuer</dt>
<dd>
Lorem ipsum dolor sit amet consectetuer facilisis lacinia sapien ac et.
Quis hendrerit neque congue pretium iaculis justo laoreet orci elit condimentum.
Eros natoque Curabitur accumsan eget quis porttitor Sed Vestibulum amet sed.
</dd>
<dt>Lorem ipsum dolor sit amet consectetuer</dt>
<dd>
Lorem ipsum dolor sit amet consectetuer facilisis lacinia sapien ac et.
Quis hendrerit neque congue pretium iaculis justo laoreet orci elit condimentum.
Eros natoque Curabitur accumsan eget quis porttitor Sed Vestibulum amet sed.
</dd>
<dt>Lorem ipsum dolor sit amet consectetuer</dt>
<dd>
Lorem ipsum dolor sit amet consectetuer facilisis lacinia sapien ac et.
Quis hendrerit neque congue pretium iaculis justo laoreet orci elit condimentum.
Eros natoque Curabitur accumsan eget quis porttitor Sed Vestibulum amet sed.
</dd>
</dl>
Now, within the DOM-ready event do
$(document).ready(function() {
new $.Zebra_Accordion($('.Zebra_Accordion'));
});
Configuration options
Properties
Events
Methods
show(index, [noFx = FALSE], [noScroll = FALSE])
Expands a tab.
Arguments
index
- the 0-based index of the tab to expand
noFx
- (optional) - if set to TRUE, the tab will be instantly expanded without animation.
Default is false.
noScroll
- (optional) - if set to TRUE, the browser window will not be scrolled to the newly expanded tab.
Default is false.
var myAccordion = new $.Zebra_Accordion($('#accordion'));
// expand the third tab
myAccordion.show(2);
hide(index, [noFx = FALSE])
Expands a tab.
Arguments
index
- the 0-based index of the tab to collapse
noFx
- (optional) - if set to TRUE, the tab will be instantly collapsed without animation.
Default is false.
var myAccordion = new $.Zebra_Accordion($('#accordion'));
// collapse the first tab
myAccordion.hide(0);
Sponsors
Cross browser/device testing is done with