mdui.mutation() для инициализации)<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">
<div class="mdui-panel-item-title">Trip name</div>
<div class="mdui-panel-item-summary">Carribean cruise</div>
<i class="mdui-panel-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<div class="mdui-panel-item-actions">
<button class="mdui-btn mdui-ripple" mdui-panel-item-close>cancel</button>
<button class="mdui-btn mdui-ripple">save</button>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">
<div class="mdui-panel-item-title">Location</div>
<i class="mdui-panel-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<div class="mdui-panel-item-actions">
<button class="mdui-btn mdui-ripple" mdui-panel-item-close>cancel</button>
<button class="mdui-btn mdui-ripple">save</button>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">
<div class="mdui-panel-item-title">Start and end dates</div>
<div class="mdui-panel-item-summary">Start date: Feb 29, 2016</div>
<div class="mdui-panel-item-summary">End date: Not set</div>
<i class="mdui-panel-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<div class="mdui-panel-item-actions">
<button class="mdui-btn mdui-ripple" mdui-panel-item-close>cancel</button>
<button class="mdui-btn mdui-ripple">save</button>
</div>
</div>
</div>
</div>Некоторые элементы в примере выше не являются обязательными; следующий пример содержит только необходимые HTML-элементы.
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Добавление класса .mdui-panel-item-open к элементу <div class="mdui-panel-item"></div> делает этот элемент открытым по умолчанию.
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item mdui-panel-item-open">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Добавление класса .mdui-panel-gapless к элементу <div class="mdui-panel"></div> удаляет отступы между открытой панелью и остальными.
<div class="mdui-panel mdui-panel-gapless" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Добавление класса .mdui-panel-popout к элементу <div class="mdui-panel"></div> придает открытой панели эффект всплытия (popout).
<div class="mdui-panel mdui-panel-popout" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div><div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<!-- Первый вложенный раскрывающийся блок -->
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<!-- Второй вложенный раскрывающийся блок -->
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Этот метод не требует написания JavaScript-кода. Просто добавьте атрибут mdui-panel="options" к элементу <div class="mdui-panel"></div> для активации плагина.
Если компоненты создаются динамически, необходимо вызвать mdui.mutation() для инициализации.
<div class="mdui-panel" mdui-panel="{accordion: true}">
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>К элементам внутри раскрывающегося блока можно добавлять атрибуты для привязки событий, которые также доступны при использовании JavaScript.
| Атрибут | Описание |
|---|---|
mdui-panel-item-close | Клик по этому элементу вызовет событие close.mdui.panel и закроет текущий элемент панели. |
Инициализация компонента:
// selector — это CSS-селектор или DOM-элемент для .mdui-panel
// options — параметры плагина, см. список ниже
var inst = new mdui.Panel(selector, options);| Имя параметра | Тип | По умолчанию | Описание |
|---|---|---|---|
accordion | boolean | false | Включить ли эффект аккордеона.
|
| Имя метода | Описание |
|---|---|
open(item) | Открыть элемент панели.
|
close(item) | Закрыть элемент панели.
|
toggle(item) | Переключить состояние элемента панели.
|
openAll() | Открыть все элементы панели. Этот метод работает только если accordion установлен в false. |
closeAll() | Закрыть все элементы панели. |
| Имя события | Описание | Цель | Параметры |
|---|---|---|---|
open.mdui.panel | Событие срабатывает, когда начинается анимация открытия элемента панели. | <div class="mdui-panel-item"></div> | event._detail.inst: экземпляр |
opened.mdui.panel | Событие срабатывает, когда анимация открытия элемента панели завершена. | ||
close.mdui.panel | Событие срабатывает, когда начинается анимация закрытия элемента панели. | ||
closed.mdui.panel | Событие срабатывает, когда анимация закрытия элемента панели завершена. |
| Имя класса | Описание |
|---|---|
.mdui-panel | Определяет раскрывающийся блок. |
.mdui-panel-gapless | Удаляет отступы между открытой панелью и остальными. |
.mdui-panel-popout | Придает открытой панели эффект всплытия. |
.mdui-panel-item | Определяет элемент раскрывающегося блока. |
.mdui-panel-item-open | Делает элемент панели открытым по умолчанию. |
.mdui-panel-item-header | Определяет заголовок (header) элемента панели. |
.mdui-panel-item-title | Определяет название (title) в заголовке панели. |
.mdui-panel-item-summary | Определяет краткое описание (summary) в заголовке панели. |
.mdui-panel-item-arrow | Определяет иконку развертывания/свертывания панели. |
.mdui-panel-item-body | Определяет содержимое элемента панели. |
.mdui-panel-item-actions | Определяет панель действий в элементе панели. |