Accordion-like Content Toggle Plugin With jQuery - toggleWidget
File Size: | 8.32 KB |
---|---|
Views Total: | 1613 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

A simple, lightweight, customizable jQuery content toggle plugin which uses CSS3 transitions to smoothly show/hide content blocks just like the accordion. Also supports auto scrolling the viewport to the top position of your content blocking when toggling.
How to use it:
1. Create the content which is hidden on page load.
<div class="demo__content toggle-widget__content"> <div class="demo__content-inner toggle-widget__content-inner"> Content here </div> </div>
2. Create a toggle button to show the content on click.
<button type="button" class="demo__toggle-btn toggle-widget__toggle-btn">Toggle</button>
3. The plugin requires the latest version of jQuery library (slim build is recommended) to work correctly.
<script src="//code.jquery.com/jquery-3.1.1.slim.min.js"></script> <script src="jquery.toggle-widget.js"></script>
4. Active the plugin with default options.
$('.toggle-widget').toggleWidget();
5. The required CSS to hide the content block by setting the height to 0, and then apply the CSS transition effect to it when toggling.
.toggle-widget__content { height: 0; transition: height .3s; overflow: hidden; }
6. Active the plugin with default options.
$('.toggle-widget').toggleWidget();
7. Configuration options with default values.
$('.toggle-widget').toggleWidget({ // enable or disable the widget enabled: true, // CSS classes toggleBtnSelector: '.toggle-widget__toggle-btn', toggleContentSelector: '.toggle-widget__content', openClass: 'toggle-widget--open', // shift the offset top value by this before returning. offsetTopShift: -20, // animation duration in milliseconds scrollDuration: 300 });
8. API methods.
// open the content $('.toggle-widget').toggleWidget('open'); // close the content $('.toggle-widget').toggleWidget('close'); // toggle the content $('.toggle-widget').toggleWidget('toggle'); // enable the plugin $('.toggle-widget').toggleWidget('enable'); // disable the plugin $('.toggle-widget').toggleWidget('disable'); // get offset top value shifted by 'offsetTopShift' $('.toggle-widget').toggleWidget('getOffsetTop'); // get the height of the content-inner element $('.toggle-widget').toggleWidget('getContentInnerHeight'); // scroll the viewport to the offset top position $('.toggle-widget').toggleWidget('scrollToOffsetTop'); // returns whether the toggle is open $('.toggle-widget').toggleWidget('isOpen'); // destroy the plugin $('.toggle-widget').toggleWidget('destroy');
Change log:
2017-01-26
- added isOpen method.
This awesome jQuery plugin is developed by floriancapelle. For more Advanced Usages, please check the demo page or visit the official website.