2017 © Pedro PelĂĄez
 

jquery-plugin jquery-autocollapser

Small jQuery plugin that collapses a box on a toggle

image

lavoiesl/jquery-autocollapser

Small jQuery plugin that collapses a box on a toggle

  • Wednesday, March 7, 2012
  • by lavoiesl
  • Repository
  • 2 Watchers
  • 4 Stars
  • 2 Installations
  • JavaScript
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

jQuery AutoCollapser

Author

Sébastien Lavoie (sebastien@lavoie.sl), (*1)

Description

Simple solution to a common problem:, (*2)

  • Easy binding for the toggle of collasped/expanded of a selector
  • Provides an API to show/hide/toggle
  • Adds classes collapse-{expanded,collapsed} on the wrapper

Much can be done, but this is the first version, (*3)

Prerequisites

  • jQuery, should work with any version but tested with 1.7

Basic setup

  <div class="collapse-wrapper">
    <div class="header">
      <a href="#" class="collapse-toggle">Toggle</a>
    </div>
    <div class="collapse-box">
      <ul>
          <li>Test</li>
          <li>Test</li>
          <li>Test</li>
          <li>Test</li>
      </ul>
    </div>
  </div>

Initialization

$(function() {
    $('.collapse-wrapper').autoCollapser();
});

Options

{
    box: '.collapse-box',                 // The box that will be collasped
    toggle: '.collapse-toggle',           // The trigger, binding will be added onClick
    collapsedClass: 'collapse-collapsed', // Class to be added to the wrapper when it is collapsed
    expandedClass: 'collapse-expanded',   // Idem
    duration: 800,                        // Speed in ms for the animation,
    stop: true                            // Empty the queue using .stop(true, true)
}

CSS Example

.collapse-wrapper {
    border: 1px solid green;
    padding: 10px;
    margin: 10px;
}

.collapse-expanded .collapse-toggle::after {
    content: " -"
}
.collapse-collapsed .collapse-toggle::after {
    content: " +"
}

.collapse-box {
    border: 1px solid red;
    margin: 10px;
}

API

$('.collapse-wrapper').autoCollapser('show');
$('.collapse-wrapper').autoCollapser('hide');
$('.collapse-wrapper').autoCollapser('toggle');
````


### Events
Two events are made and they both pass the data.show as a boolean

  * autoCollapser.toggle.start
  * autoCollapser.toggle.after

```javascript
$('.collapse-wrapper').on('autoCollapser.toggle.start', function(event,data){
  console.log("Collapser has started " + (data.show ? 'expanding' : 'collasping'));
});
$('.collapse-wrapper').on('autoCollapser.toggle.after', function(event,data){
  console.log("Collapser was " + (data.show ? 'expanded' : 'collasped'));
});

Demo

Checkout the demo, (*4)

The Versions

07/03 2012

dev-master

9999999-dev

Small jQuery plugin that collapses a box on a toggle

  Sources   Download

MIT

jquery