welookups.com
WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

Bootstrap JS Collapse


JS Collapse (collapse.js)

You can base styles and flexible support for collapsible components like accordions and navigation.

Plugin dependency: Collapse requires the transitions plugin to be included in your version of Bootstrap.

For a tutorial about Collapsibles, read our Bootstrap Collapse Tutorial.


The Collapse Plugin Classes

Class Description Example
.collapse Hides the content Try it
.collapse in Shows the content Try it
.collapsing Added when the transition starts, and removed when it finishes

Via data-* Attributes

Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a CSS selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.

<button class="btn" data-toggle="collapse" data-target="#demo">Collapsible</button>

<div id="demo" class="collapse">
Some text..
</div> Try it

Via JavaScript

Enable manually with:

$('.collapse').collapse()

Collapse Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-parent="".

Name Type Default Description
parent selector false all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this is dependent on the panel class these can be look at here
toggle boolean true Toggles the collapsible element on invocation

Collapse Methods

The following table lists all available collapse methods.

Method Description Try it
.collapse(options) Activates the collapsible element with an option. You can try it
.collapse("toggle") Toggles the collapsible element Try it
.collapse("show") Shows the collapsible element Try it
.collapse("hide") Hides the collapsible element Try it

Collapse Events

The following table lists all available collapse events.

Event Description
show.bs.collapse Occurs when the collapsible element is about to be shown
shown.bs.collapse Occurs when the collapsible element is fully shown (after CSS transitions have completed)
hide.bs.collapse Occurs when the collapsible element is about to be hidden
hidden.bs.collapse Occurs when the collapsible element is fully hidden (after CSS transitions have completed)

Examples

Simple Collapsible

The following example makes a button toggle the expanding and collapsing content of another element:

Example

<button type="button" class="btn btn-info" data-toggle="collapse" data-target="#demo">
  Simple collapsible
</button>

<div id="demo" class="collapse in">
  Google Maps is a web mapping service developed by Google, consectetur adipisicing elit,
  .
</div>
Try it Yourself »

Collapsible Panel

The following example shows a collapsible panel:

Example

<div class="panel-group">
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" href="#collapse1">Collapsible panel</a>
      </h4>
    </div>
    <div id="collapse1" class="panel-collapse collapse">
      <div class="panel-body">Panel Body</div>
      <div class="panel-footer">Panel Footer</div>
    </div>
  </div>
</div>
Try it Yourself »

Collapsible List Group

The following shows a collapsible panel with a list group inside:

Example

<div class="panel-group">
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" href="#collapse1">Collapsible list group</a>
      </h4>
    </div>
    <div id="collapse1" class="panel-collapse collapse">
      <ul class="list-group">
        <li class="list-group-item">One</li>
        <li class="list-group-item">Two</li>
        <li class="list-group-item">Three</li>
      </ul>
      <div class="panel-footer">Footer</div>
    </div>
  </div>
</div>
Try it Yourself »

Accordion

The following example shows a simple accordion by extending the panel component:

Note: The data-parent attribute makes sure that all collapsible elements under the specified parent will be closed when one of the collapsible item is shown.

Example

<div class="panel-group" id="accordion">
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapse1">
        Collapsible Group 1</a>
      </h4>
    </div>
    <div id="collapse1" class="panel-collapse collapse in">
      <div class="panel-body">Google Maps is a web mapping service developed by Google</div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapse2">
        Collapsible Group 2</a>
      </h4>
    </div>
    <div id="collapse2" class="panel-collapse collapse">
      <div class="panel-body">Google Maps is a web mapping service developed by Google</div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapse3">
        Collapsible Group 3</a>
      </h4>
    </div>
    <div id="collapse3" class="panel-collapse collapse">
      <div class="panel-body">Google Maps is a web mapping service developed by Google</div>
    </div>
  </div>
</div>
Try it Yourself »

Expand and Collapse Toggle Icon & Text

The following example changes the open/close text and icon when opening and closing the collapsible content:

Example

$(document).ready(function(){
  $("#demo").on("hide.bs.collapse", function(){
    $(".btn").html('<span class="glyphicon glyphicon-collapse-down"></span> Open');
  });
  $("#demo").on("show.bs.collapse", function(){
    $(".btn").html('<span class="glyphicon glyphicon-collapse-up"></span> Close');
  });
});
Try it Yourself »

Or you can use CSS:

Example

/* Icon when the collapsible content is shown */
.btn:after {
    font-family: "Glyphicons Halflings";
    content: "\e114";
}

/* Icon when the collapsible content is hidden */
.btn.collapsed:after {
    content: "\e080";
}
Try it Yourself »