Skip to content

jgerigmeyer/django-html5accordion

Repository files navigation

jQuery html5accordion plugin package for Django

django-html5accordion adds JS support to expand/collapse any content, like HTML5 details/summary elements. It can be called on any element, and accepts options to set the selector for the summary contents that should always remain visible (and act as the link to expand/collapse the hidden content), the speed of the slideUp/Down animation, the class to be added when the details element is expanded, selectors for elements within summary that should not trigger the expand/collapse, and callback fns.

Dependencies

Installation

In your Django project settings, add "html5accordion" to your INSTALLED_APPS.

Usage

Linking the JS:

<script src="{{ STATIC_URL }}html5accordion/jquery.html5accordion.js"></script>

Sample HTML:

<article class="details">
  <header class="summary">
    <p>This content will always be visible</p>
  </header>
  <div>
    <p>This content will expand/collapse when `.summary` is clicked</p>
  </div>
</article>

Calling the plugin:

$('.details').html5accordion();

Calling the plugin with a variety of options explicitly configured to their default values:

$('.details').html5accordion({
  summarySelector: '.summary',                // Selector for summary text
  slideSpeed: 200,                            // Slide animation speed (ms)
  expandedClass: 'open',                      // Class added when details are
                                                // expanded
  ignoredElements: 'button, a, input, label', // Elements within `summary` that
                                                // will not trigger expand/collapse
  initialSlideSpeed: null,                    // Slide animation speed (ms) for
                                                // already-expanded details
  openCallback: null,                         // Callback fn after open animation
  closeCallback: null                         // Callback fn after close animation
});

Note: To expand a details element on initial load, simply add class open (or whatever class is passed as option expandedClass), or add attribute open.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published