Collapse Plugins are used to collapse or expand content blocks.
The plug-in itself does not have any styles, you need to write styles yourself or use them in conjunction with other components.
mdui.mutation() To initialize)This is the most basic HTML structure:
<div class="mdui-collapse">
<div class="mdui-collapse-item">
<div class="mdui-collapse-item-header"></div>
<div class="mdui-collapse-item-body"></div>
</div>
</div>
Add class Containing class .mdui-collapse-item-open
<div class="mdui-collapse">
<div class="mdui-collapse-item mdui-collapse-item-open">
<div class="mdui-collapse-item-header"></div>
<div class="mdui-collapse-item-body"></div>
</div>
</div>.mdui-collapse-item-arrow The element of will be flipped when the content block expands 180 degree:<div class="mdui-collapse">
<div class="mdui-collapse-item">
<div class="mdui-collapse-item-header">
<div class="mdui-collapse-item-arrow"></div>
</div>
<div class="mdui-collapse-item-body"></div>
</div>
</div>
No need to write in this way JavaScript Code. Just in <div class="mdui-collapse"></div> Add on element mdui-collapse="options" Properties to activate the plug-in.
If the component is dynamically generated, you need to call mdui.mutation() Initialize.
<div class="mdui-collapse" mdui-collapse>
<div class="mdui-collapse-item">
<div class="mdui-collapse-item-header"><p><a href="javascript:;">item1</a></p></div>
<div class="mdui-collapse-item-body">
<p>item1 content</p>
<p>item1 content</p>
<p>item1 content</p>
<!-- Nested elements -->
<div class="mdui-collapse" mdui-collapse>
<div class="mdui-collapse-item">
<div class="mdui-collapse-item-header"><p><a href="javascript:;">subitem1</a></p></div>
<div class="mdui-collapse-item-body">
<p>subitem1 content</p>
<p>subitem1 content</p>
<p>subitem1 content</p>
</div>
</div>
</div>
</div>
</div>
<div class="mdui-collapse-item">
<div class="mdui-collapse-item-header"><p><a href="javascript:;">item2</a></p></div>
<div class="mdui-collapse-item-body">
<p>item2 content</p>
<p>item2 content</p>
<p>item2 content</p>
</div>
</div>
<div class="mdui-collapse-item">
<div class="mdui-collapse-item-header"><p><a href="javascript:;">item3</a></p></div>
<div class="mdui-collapse-item-body">
<p>item3 content</p>
<p>item3 content</p>
<p>item3 content</p>
</div>
</div>
</div>
in CollapseSome attributes can be added to the elements inside to bind events, and these attributes are in For use JavaScript It can also be used when calling mode.
| Attributes | Description |
|---|---|
mdui-collapse-item-close |
Clicking on the element will trigger Event, and close the panel where the element is located.lapse Event, and close the panel where the element is located. |
Instantiate the plug-in:
// selector ElementalSelector or Selector element DOM element
// options Is the parameter of the plug-in, see the parameter list below
var inst = new mdui.Collapse(selector, options);
| parameter name | Types of | Defaults | description |
|---|---|---|---|
accordion |
boolean |
false |
Whether to enable the accordion effect.
|
| Method name | description |
|---|---|
open(item) |
Open the content block.
|
close(item) |
Close the content block.
|
toggle(item) |
Toggles the status of the content block.
|
openAll() |
Open all content blocks. This method is only available in accordion for false Time effective. |
closeAll() |
Close all content blocks. |
| event | description | the goal | parameter |
|---|---|---|---|
open.mdui.collapse |
The event will be triggered when the content block starts to open the animation. | <div class="mdui-collapse-item"></div> |
event._detail.inst: Examples
|
opened.mdui.collapse |
When the content block ends and opens the animation, the event will be triggered. | ||
close.mdui.collapse |
The event will be triggered when the content block starts to close the animation. | ||
closed.mdui.collapse |
When the content block ends and closes the animation, the event will be triggered. |
<ul class="mdui-list" mdui-collapse="{accordion: true}">
<li class="mdui-list-item mdui-ripple">
<i class="mdui-list-item-icon mdui-icon material-icons">home</i>
<div class="mdui-list-item-content">Home</div>
</li>
<li class="mdui-list-item mdui-ripple">
<i class="mdui-list-item-icon mdui-icon material-icons">dashboard</i>
<div class="mdui-list-item-content">Dashboard</div>
</li>
<li class="mdui-collapse-item mdui-collapse-item-open">
<div class="mdui-collapse-item-header mdui-list-item mdui-ripple">
<i class="mdui-list-item-icon mdui-icon material-icons">people</i>
<div class="mdui-list-item-content">Audience</div>
<i class="mdui-collapse-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<ul class="mdui-collapse-item-body mdui-list mdui-list-dense">
<li class="mdui-list-item mdui-ripple">Overview</li>
<li class="mdui-list-item mdui-ripple">Language</li>
<li class="mdui-list-item mdui-ripple">Location</li>
<li class="mdui-list-item mdui-ripple">New vs Returning</li>
</ul>
</li>
<li class="mdui-collapse-item">
<div class="mdui-collapse-item-header mdui-list-item mdui-ripple">
<i class="mdui-list-item-icon mdui-icon material-icons">device_hub</i>
<div class="mdui-list-item-content">Acquisition</div>
<i class="mdui-collapse-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<ul class="mdui-collapse-item-body mdui-list mdui-list-dense">
<li class="mdui-list-item mdui-ripple">Overview</li>
<li class="mdui-list-item mdui-ripple">All Traffic</li>
<li class="mdui-list-item mdui-ripple">Direct Traffic</li>
<li class="mdui-list-item mdui-ripple">Search Overview</li>
</ul>
</li>
<li class="mdui-collapse-item">
<div class="mdui-collapse-item-header mdui-list-item mdui-ripple">
<i class="mdui-list-item-icon mdui-icon material-icons">touch_app</i>
<div class="mdui-list-item-content">Behavior</div>
<i class="mdui-collapse-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<ul class="mdui-collapse-item-body mdui-list mdui-list-dense">
<li class="mdui-list-item mdui-ripple">Overview</li>
<li class="mdui-list-item mdui-ripple">All Pages</li>
<li class="mdui-list-item mdui-ripple">Landing Pages</li>
<li class="mdui-list-item mdui-ripple">Exit Pages</li>
</ul>
</li>
<li class="mdui-list-item mdui-ripple">
<i class="mdui-list-item-icon mdui-icon material-icons">shopping_cart</i>
<div class="mdui-list-item-content">Ecommerce</div>
</li>
</ul>
Theme color
Main color
Accent color