Skip to content

Panel(面板)

使用$.fn.iPanel.defaults重写默认值对象。

面板作为承载其它内容的容器。这是构建其他组件的基础(比如:layout,tabs,accordion等)。它还提供了折叠、关闭、最大化、最小化和自定义行为。面板可以很容易地嵌入到web页面的任何位置。

创建面板

1. 通过标签创建面板

通过标签创建更简单。添加data-toggle="topjui-panel"<div/>标签。

html
<div id="p" data-toggle="topjui-panel" title="My Panel" style="width:500px;height:150px;">
  panel content.
</div>

2. 创建面板程序

通过Javascrip创建面板右上角的的工具栏。

html
<div id="p" style="width:500px;height:150px;">
  panel content.
</div>
javascript
$('#p').iPanel({
  width:500,
  height:150,
  title: 'My Panel',
  tools: [{
    iconCls:'icon-add',
    handler:function(){alert('new')}
  },{
    iconCls:'icon-save',
    handler:function(){alert('save')}
  }]
});

移动面板

调用'move'方法移动面板到新的位置。

javascript
$('#p').iPanel('move',{
  left:100,
  top:100
});

读取内容

当加载成功的时候让我们通过ajax加载面板内容并显示一些消息。

javascript
$('#p').iPanel({
  href:'content_url.php',
  onLoad:function(){
    alert('loaded successfully');
  }
});

属性

属性名属性值类型描述默认值
idstring面板的ID属性。null
titlestring在面板头部显示的标题文本。null
iconClsstring设置一个16x16图标的CSS类ID显示在面板左上角。null
widthnumber设置面板宽度。auto
heightnumber设置面板高度。auto
leftnumber设置面板距离左边的位置(即X轴位置)。null
topnumber设置面板距离顶部的位置(即Y轴位置)。null
clsstring添加一个CSS类ID到面板。null
headerClsstring添加一个CSS类ID到面板头部。null
bodyClsstring添加一个CSS类ID到面板正文部分。null
styleobject添加一个当前指定样式到面板。 如下代码示例更改面板边框宽度:{}
fitboolean当设置为true的时候面板大小将自适应父容器。下面的例子显示了一个面板,可以自动在父容器的最大范围内调整大小。 Embedded Panelfalse
borderboolean定义是否显示面板边框。true
doSizeboolean如果设置为true,在面板被创建的时候将重置大小和重新布局。true
noheaderboolean如果设置为true,那么将不会创建面板标题。false
contentstring面板主体内容。null
halignstring定义面板头部对齐方式。可用值有:'top', 'left', 'right'。top
titleDirectionstring定义面板标题方向。可用值有:'up', 'down'。该属性仅在halign值为'left'或'right'时有效。down
collapsibleboolean定义是否显示可折叠按钮。false
minimizableboolean定义是否显示最小化按钮。false
maximizableboolean定义是否显示最大化按钮。false
closableboolean定义是否显示关闭按钮。false
toolsarray,selector自定义工具菜单,可用值: 1) 数组,每个元素都包含'iconCls'和'handler'属性。 2) 指向工具菜单的选择器。 面板工具菜单可以声明在已经存在的<div>标签上: 面板工具菜单也可以通过数组定义:[]
headerselector定义面板标题。 代码示例: 面板标题
footerselector定义面板页脚。 代码示例:null
openAnimationstring定义打开面板的动画,可用值有:'slide','fade','show'。
openDurationnumber定义打开面板的持续时间。400
closeAnimationstring定义关闭面板的动画,可用值有:'slide','fade','show'。
closeDurationnumber定义关闭面板的持续时间。400
collapsedboolean定义是否在初始化的时候折叠面板。false
minimizedboolean定义是否在初始化的时候最小化面板。false
maximizedboolean定义是否在初始化的时候最大化面板。false
closedboolean定义是否在初始化的时候关闭面板。false
hrefstring从URL读取远程数据并且显示到面板。注意:内容将不会被载入,直到面板打开或扩大,在创建延迟加载面板时是非常有用的: Opennull
cacheboolean如果为true,在超链接载入时缓存面板内容。true
loadingMessagestring在加载远程数据的时候在面板内显示一条消息。Loading…
extractorfunction定义如何从ajax应答数据中提取内容,返回提取数据。 extractor: function(data){ var pattern = /< body[^>]*>((.|[\n\r])*)<\/body>/im; var matches = pattern.exec(data); if (matches){ return matches[1]; // 仅提取主体内容 } else { return data; } }
methodstring使用HTTP的哪一种方法读取内容页。可用值:'get','post'。get
queryParamsobject在加载内容页的时候添加的请求参数。{}
loaderfunction定义了如何从远程服务器加载内容页,该函数接受以下参数: param:参数对象发送给远程服务器。 success(data):在检索数据成功的时候调用的回调函数。 error():在检索数据失败的时候调用的回调函数。

事件

事件名事件参数描述
onBeforeLoadnone在加载内容页之前触发,返回false将忽略该动作。
onLoadnone在加载远程数据时触发。
onLoadErrornone在加载内容页发生错误时触发。
onBeforeOpennone在打开面板之前触发,返回false可以取消打开操作。
onOpennone在打开面板之后触发。
onBeforeClosenone在关闭面板之前触发,返回false可以取消关闭操作。下列的面板将不能关闭。 面板将不能关闭
onClosenone在面板关闭之后触发。
onBeforeDestroynone在面板销毁之前触发,返回false可以取消销毁操作。
onDestroynone在面板销毁之后触发。
onBeforeCollapsenone在面板折叠之前触发,返回false可以终止折叠操作。
onCollapsenone在面板折叠之后触发。
onBeforeExpandnone在面板展开之前触发,返回false可以终止展开操作。
onExpandnone在面板展开之后触发。
onResizewidth, height在面板改变大小之后触发。 width:新的宽度。 height:新的高度。
onMoveleft,top在面板移动之后触发。 left:新的左边距位置。 top:新的上边距位置。
onMaximizenone在窗口最大化之后触发。
onRestorenone在窗口恢复到原始大小以后触发。
onMinimizenone在窗口最小化之后触发。

方法

方法名方法参数描述
optionsnone返回属性对象。
panelnone返回面板对象。
headernone返回面板头对象。
footernone返回面板页脚对象。
bodynone返回面板主体对象。
setTitletitle设置面板头的标题文本。
openforceOpen在'forceOpen'参数设置为true的时候,打开面板时将跳过'onBeforeOpen'回调函数。
closeforceClose在'forceClose'参数设置为true的时候,关闭面板时将跳过'onBeforeClose'回调函数。
destroyforceDestroy在'forceDestroy'参数设置为true的时候,销毁面板时将跳过'onBeforeDestory'回调函数。
clearnone清除面板内容。
refreshhref刷新面板来装载远程数据。如果'href'属性有了新配置,它将重写旧的'href'属性。见下方代码示例。
resizeoptions设置面板大小和布局。参数对象包含下列属性: width:新的面板宽度。 height:新的面板高度。 left:新的面板左边距位置。 top:新的面板上边距位置。见下方代码示例。
doLayoutnone设置面板内子组件的大小。

方法代码示例

refresh方法示例:

javascript
// 打开面板且刷新其内容。
$('#pp').iPanel('open').iPanel('refresh');

// 刷新一个新的URL内容
$('#pp').iPanel('open').iPanel('refresh','new_content.php');

resize方法示例:

javascript
$('#pp').iPanel('resize',{
    width: 600,
    height: 400
});

| move | options | 移动面板到一个新位置。参数对象包含下列属性: left:新的左边距位置。 top:新的上边距位置。 |
| maximize | none | 最大化面板到容器大小。 |
| minimize | none | 最小化面板。 |
| restore | none | 恢复最大化面板回到原来的大小和位置。 |
| collapse | animate | 折叠面板主题。 |
| expand | animate | 展开面板主体。 |

基于最新稳定版jQuery EasyUI构建的前端框架