Customizable Multi-level Accordion Plugin With jQuery - simpleAccordion
File Size: | 7.43 KB |
---|---|
Views Total: | 5412 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
simpleAccordion is a simple yet customizable jQuery accordion plugin which has support for nested accordion panels, custom open/close animations, easing effects and callbacks.
How to use it:
1. Add the data-behavior="accordion"
attribute to each accordion header and set the data-multiple
to true if your accordion has nested accordion items.
<div class="accordion-group" data-behavior="accordion"> <p class="accordion-header default-open"> Item 1 </p> <div class="accordion-body"> Item 1 </div> <p class="accordion-header"> Item 2 </p> <div class="accordion-body"> <div class="accordion-group" data-behavior="accordion" data-multiple="true"> <p class="accordion-header"> Item 2.1 </p> <div class="accordion-body"> Item 2.1 </div> <p class="accordion-header"> Item 2.2 </p> <div class="accordion-body"> Item 2.2 </div> </div> </div> </div>
2. Put jQuery library and the jQuery simpleAccordion plugin's script at the bottom of the html page.
<script src="//code.jquery.com/jquery.min.js"></script> <script src="js/jquery.simpleaccordion.js"></script>
3. Initialize the plugin and done.
$('[data-behavior=accordion]').simpleAccordion();
4. There are a few options you can use when initializing the plugin.
$('[data-behavior=accordion]').simpleAccordion({ // is multiple? multiple: false, // animation speed speedOpen: 300, speedClose: 150, // easing effects easingOpen: null, easingClose: null, // CSS classes headClass: 'accordion-header', bodyClass: 'accordion-body', openClass: 'open', defaultOpenClass: 'default-open', // callbacks cbClose: null, //function (e, $this) {}, cbOpen: null //function (e, $this) {} });
5. Apply your custom CSS styles to the accordion. Here're default CSS styles you can use them directly.
.accordion-group { margin: 0 0 30px } .accordion-group { margin: 0 } .accordion-body { display: none; padding: 10px 20px 14px; background-color: #f6f6f6; border-radius: 5px; margin: 4px 0; } .accordion-body > * > .accordion-body { background-color: #ededed; margin: 0 } .accordion-header { background: #e7e9ea url("../img/accordion-closed.png") no-repeat 20px center; margin: 8px 0; color: #555; padding: 8px 40px; cursor: pointer; border-radius: 5px; position: relative; } .accordion-header.open { background: #999 url("../img/accordion-opened.png") no-repeat 19px center; color: #fff; font-weight: bold } .accordion-header:last-of-type { margin-bottom: 0 } .accordion-header.open:last-of-type { margin-bottom: 4px } .accordion-header span { position: absolute; right: 6px; top: 6px; background: #fff; padding: 2px 5px; border-radius: 4px; color: #333; font-weight: normal }
This awesome jQuery plugin is developed by tomreid76. For more Advanced Usages, please check the demo page or visit the official website.