Плагин макета jQuery EasyUI -Панель
jQuery EasyUI Плагины
Переопределить настройки по умолчанию через $.fn.panel.defaults.
Панель используется как контейнер для другого содержимого. Это фундаментальный компонент для построения других компонентов (таких как Layout, Tabs, Accordion и т. д.). Она также предоставляет встроенные возможности сворачивания, закрытия, максимизации, минимизации и другие настраиваемые варианты поведения. Панель можно легко встроить в любое место веб-страницы.
Использование
Создание панели
1. Создание панели с помощью разметки
Создать панель из разметки проще. Добавьте класс 'easyui-panel' к тегу <div>.
<div id="p" class="easyui-panel" title="My Panel"
style="width:500px;height:150px;padding:10px;background:#FAFAFA;"
data-options="iconCls:'icon-save',closable:true,
collapsible:true,minimizable:true,maximizable:true">
<p>panel content.</p>
<p>panel content.</p>
</div>
2. Создание панели программно
Давайте создадим панель с панелью инструментов в правом верхнем углу.
<div id="p" style="padding:10px;">
<p>panel content.</p>
<p>panel content.</p>
</div>
$('#p').panel({
width:500,
height:150,
title:'My Panel',
tools:[{
iconCls:'icon-add',
handler:function(){alert('new')}
},{
iconCls:'icon-save',
handler:function(){alert('save')}
}]
});
Перемещение панели
Вызовите метод 'move', чтобы переместить панель в новое положение.
$('#p').panel('move',{
left:100,
top:100
});
Загрузка содержимого
Давайте загрузим содержимое панели через ajax и отобразим некоторую информацию, когда загрузка завершится успешно.
$('#p').panel({
href:'content_url.php',
onLoad:function(){
alert('loaded successfully');
}
});
Свойства
| Name | Type | Описание | Значение по умолчанию |
|---|---|---|---|
| id | string | Атрибут id панели. | null |
| title | string | Текст заголовка, отображаемый в заголовке панели. | null |
| iconCls | string | CSS-класс, который отображает значок 16x16 в панели. | null |
| width | число | Установите ширину панели. | auto |
| height | число | Установите высоту панели. | auto |
| left | число | Установите левую позицию панели. | null |
| top | число | Установите верхнюю позицию панели. | null |
| cls | string | Добавьте CSS-класс к панели. | null |
| headerCls | string | Добавьте CSS-класс к заголовку панели. | null |
| bodyCls | string | Добавьте CSS-класс к телу панели. | null |
| style | объект | Добавьте пользовательские стили к панели. Пример кода для изменения ширины границы панели:
<div class="easyui-panel" style="width:200px;height:100px"
data-options="style:{borderWidth:2}">
</div>
|
{} |
| fit | логическое значение | Если установлено значение true, размер панели адаптируется к родительскому контейнеру. Следующий пример демонстрирует панель, которая автоматически изменяет размер до максимального внутреннего размера родительского контейнера.<div style="width:200px;height:100px;padding:5px"> <div class="easyui-panel" style="width:200px;height:100px" data-options="fit:true,border:false"> Embedded Panel </div> </div> |
false |
| border | логическое значение | Определяет, показывать ли границу панели. | истина |
| doSize | логическое значение | Если задано значение true, при создании панель будет изменена в размере и для неё будет выполнена компоновка. | истина |
| noheader | логическое значение | Если задано значение true, заголовок панели не будет создан. | false |
| content | string | Содержимое тела панели. | null |
| collapsible | логическое значение | Определяет, показывать ли кнопку сворачивания. | false |
| minimizable | логическое значение | Определяет, показывать ли кнопку минимизации. | false |
| maximizable | логическое значение | Определяет, показывать ли кнопку развертывания. | false |
| closable | логическое значение | Определяет, отображать ли кнопку закрытия. | false |
| tools | массив, селектор | Пользовательские инструменты, возможные значения: 1. Array, каждый элемент содержит два свойства: iconCls и handler. 2. Selector, указывающий инструменты. Инструменты панели можно объявить через существующий тег <div>:
<div class="easyui-panel" style="width:300px;height:200px"
title="My Panel" data-options="iconCls:'icon-ok',tools:'#tt'">
</div>
<div id="tt">
<a href="../index.html" class="icon-add" onclick="javascript:alert('add')"></a>
<a href="../index.html" class="icon-edit" onclick="javascript:alert('edit')"></a>
</div>
Инструменты панели можно задать через массив:
<div class="easyui-panel" style="width:300px;height:200px"
title="My Panel" data-options="iconCls:'icon-ok',tools:[
{
iconCls:'icon-add',
handler:function(){alert('add')}
},{
iconCls:'icon-edit',
handler:function(){alert('edit')}
}]">
</div>
|
[] |
| collapsed | логическое значение | Определяет, должна ли панель быть изначально свёрнутой. | false |
| minimized | логическое значение | Определяет, должна ли панель быть изначально минимизированной. | false |
| maximized | логическое значение | Определяет, должна ли панель быть изначально развёрнутой. | false |
| closed | логическое значение | Определяет, закрыта ли панель изначально. | false |
| href | string | URL-адрес, используемый для загрузки удалённых данных и отображения их в панели. Обратите внимание, что содержимое не будет загружено, пока панель не открыта. Это полезно для создания панели с ленивой загрузкой:
<div id="pp" class="easyui-panel" style="width:300px;height:200px"
data-options="href='get_content.php.html',closed:true">
</div>
<a href="../index.html" onclick="javascript:$('#pp').panel('open')">Open</a>
|
null |
| cache | логическое значение | Установите true, чтобы кэшировать содержимое панели, загруженное из href. | истина |
| loadingMessage | string | Показывать сообщение в панели при загрузке удалённых данных. | Загрузка… |
| extractor | функция | Определяет, как извлекать содержимое из ответа ajax, возвращая извлечённые данные.
extractor: function(data){
var pattern = /<body[^>]*>((.|[\n\r])*)<\/body>/im;
var matches = pattern.exec(data);
if (matches){
return matches[1]; // only extract body content
} else {
return data;
}
}
|
Events
| Name | Parameters | Описание |
|---|---|---|
| onLoad | none | Срабатывает при загрузке удалённых данных. |
| onBeforeOpen | none | Срабатывает перед открытием панели; верните false, чтобы предотвратить её открытие. |
| onOpen | none | Срабатывает после открытия панели. |
| onBeforeClose | none | Срабатывает перед закрытием панели; верните false, чтобы отменить закрытие. Панель, объявленная ниже, не закроется.
<div class="easyui-panel" style="width:300px;height:200px;"
title="My Panel" data-options="onBeforeClose:function(){return false}">
The panel cannot be closed.
</div>
|
| onClose | none | Срабатывает после закрытия панели. |
| onBeforeDestroy | none | Срабатывает перед уничтожением панели; верните false, чтобы отменить уничтожение. |
| onDestroy | none | Срабатывает после уничтожения панели. |
| onBeforeCollapse | none | Срабатывает перед сворачиванием панели; верните false, чтобы остановить сворачивание. |
| onCollapse | none | Срабатывает после сворачивания панели. |
| onBeforeExpand | none | Срабатывает перед развёртыванием панели; верните false, чтобы остановить развёртывание. |
| onExpand | none | Срабатывает после развёртывания панели. |
| onResize | width, height | Срабатывает после изменения размера панели. width: новая внешняя ширина height: новая внешняя высота |
| onMove | left,top | Срабатывает после перемещения панели. left: новая левая позиция top: новая верхняя позиция |
| onMaximize | none | Срабатывает после развёртывания окна. |
| onRestore | none | Срабатывает после восстановления окна до исходного размера. |
| onMinimize | none | Срабатывает после сворачивания окна. |
Методы
| Name | Parameters | Описание |
|---|---|---|
| options | none | Возвращает свойство options. |
| panel | none | Возвращает объект внешней панели. |
| header | none | Возвращает объект заголовка панели. |
| body | none | Возвращает объект тела панели. |
| setTitle | title | Устанавливает текст заголовка. |
| open | forceOpen | Если для параметра forceOpen задано значение true, открывает панель в обход функции обратного вызова onBeforeOpen. |
| close | forceClose | Если для параметра forceClose задано значение true, закрывает панель в обход функции обратного вызова onBeforeClose. |
| destroy | forceDestroy | Когда параметр forceDestroy установлен в true, уничтожает панель в обход функции обратного вызова onBeforeDestroy. |
| refresh | href | Обновляет панель для загрузки удалённых данных. Если задан параметр 'href', он переопределит старое свойство 'href'. Пример кода:
// open a panel and then refresh its contents.
$('#pp').panel('open').panel('refresh');
// refresh contents with a new URL.
$('#pp').panel('open').panel('refresh','new_content.php');
|
| resize | options | Задаёт размер панели и выполняет компоновку. Объект Options содержит следующие свойства: width: новая ширина панели height: новая высота панели left: новая позиция панели слева top: новая позиция панели сверху Пример кода:
$('#pp').panel('resize',{
width: 600,
height: 400
});
|
| move | options | Перемещает панель в новую позицию. Объект Options содержит следующие свойства: left: новая позиция панели слева top: новая позиция панели сверху |
| maximize | none | Панель адаптируется к размеру своего контейнера. |
| minimize | none | Свернуть панель. |
| восстановить | none | Восстановить развёрнутую панель до исходного размера и положения. |
| collapse | animate | Свернуть тело панели. |
| expand | animate | Развернуть тело панели. |
Плагины jQuery EasyUI Другие расширения