对layout添加方法
<script>
/**
* layout方法扩展
* @param {Object} jq
* @param {Object} region
*/
$.extend($.fn.layout.methods, {
/**
* 面板是否存在和可见
* @param {Object} jq
* @param {Object} params
*/
isVisible: function(jq, params) {
var panels = $.data(jq[0], 'layout').panels;
var pp = panels[params];
if(!pp) {
return false;
}
if(pp.length) {
return pp.panel('panel').is(':visible');
} else {
return false;
}
},
/**
* 隐藏除某个region,center除外。
* @param {Object} jq
* @param {Object} params
*/
hidden: function(jq, params) {
return jq.each(function() {
var opts = $.data(this, 'layout').options;
var panels = $.data(this, 'layout').panels;
if(!opts.regionState){
opts.regionState = {};
}
var region = params;
function hide(dom,region,doResize){
var first = region.substring(0,1);
var others = region.substring(1);
var expand = 'expand' + first.toUpperCase() + others;
if(panels[expand]) {
if($(dom).layout('isVisible', expand)) {
opts.regionState[region] = 1;
panels[expand].panel('close');
} else if($(dom).layout('isVisible', region)) {
opts.regionState[region] = 0;
panels[region].panel('close');
}
} else {
panels[region].panel('close');
}
if(doResize){
$(dom).layout('resize');
}
};
if(region.toLowerCase() == 'all'){
hide(this,'east',false);
hide(this,'north',false);
hide(this,'west',false);
hide(this,'south',true);
}else{
hide(this,region,true);
}
});
},
/**
* 显示某个region,center除外。
* @param {Object} jq
* @param {Object} params
*/
show: function(jq, params) {
return jq.each(function() {
var opts = $.data(this, 'layout').options;
var panels = $.data(this, 'layout').panels;
var region = params;
function show(dom,region,doResize){
var first = region.substring(0,1);
var others = region.substring(1);
var expand = 'expand' + first.toUpperCase() + others;
if(panels[expand]) {
if(!$(dom).layout('isVisible', expand)) {
if(!$(dom).layout('isVisible', region)) {
if(opts.regionState[region] == 1) {
panels[expand].panel('open');
} else {
panels[region].panel('open');
}
}
}
} else {
panels[region].panel('open');
}
if(doResize){
$(dom).layout('resize');
}
};
if(region.toLowerCase() == 'all'){
show(this,'east',false);
show(this,'north',false);
show(this,'west',false);
show(this,'south',true);
}else{
show(this,region,true);
}
});
}
});
</script>
$('#id').layout('hidden','north');
$('#id').layout('show','north');
分享到:
相关推荐
在 TestProject 中,我们可以创建一个基于 EasyUI Layout 的示例项目,通过设置不同的区域和属性,实现自定义的页面布局。例如,可以创建一个包含侧边栏和主要内容区的布局,侧边栏可以折叠,中心区域展示主要内容...
6. **API 控制**:EasyUI 提供了一系列 JavaScript API,允许开发者在运行时动态添加、删除、隐藏或显示布局区域,以及调整它们的大小。 7. **事件处理**:EasyUI 还提供了布局相关的事件,如 `onResize`,可以在...
Layout(布局)是 jQuery EasyUI 中的一个核心组件,它允许我们在网页上创建复杂的布局结构,方便地管理和组织页面内容。在本篇文章中,我们将深入探讨 jQuery EasyUI 中的 Layout(面板布局)及其相关API。 Layout...
EasyUI的组件如panel(面板)、tabs(标签页)和layout(布局)等,为构建复杂的网页界面提供了便利。每个组件都有其特定的配置项,如width、height、title等,以及事件处理如onLoad、onClick等。 总的来说,jQuery...
在JSP页面中,我们使用了Easyui的Layout控件来实现Dialog控件的布局。我们首先定义了一个Layout控件,然后在其中添加了多个区域。每个区域都可以包含不同的控件,例如文本框、下拉框、按钮等。 在Dialog控件中,...
在EasyUI中,数据与UI组件间的绑定是通过JSON数据源实现的。例如,datagrid可以通过配置`url`属性从服务器获取数据,或者直接通过`data`属性设置本地JSON数据。 3. **表格(datagrid)** Datagrid是EasyUI的核心...
虽然EasyUI自身并不提供这类功能,但开发者可以通过JavaScript或者后端框架(如Spring Security)来实现,根据用户角色动态显示或隐藏菜单项和操作按钮。 8. **响应式设计**: 考虑到不同的设备和屏幕尺寸,后台...
pagination:新增“layout”属性,用于自定义控件的样式布局; accordion:新增“unselect”方法、“onUnselect”事件; accordion:新增“select”和“multiple”属性; accordion:新增“getSelections”方法;...
- **布局(Layout)**:用于创建复杂的页面布局,如 north、south、east、west 和 center 区域,可实现面板的动态调整和分割。 - **数据网格(Datagrid)**:显示表格数据,支持排序、分页、筛选等功能,可以与...
它可以动态调整大小,支持浮动和隐藏,提供了灵活的区域配置。 7. **菜单(Menu)**:EasyUI 的菜单系统支持多级结构,可以轻松创建导航菜单。菜单项可以关联到页面、函数或者其他的EasyUI组件,实现功能的触发。 ...
2. **jQuery Layout**: Layout 是用于创建复杂页面布局的工具,它允许你将页面划分为多个区域(如北、南、东、西、中),并且这些区域可以独立调整大小。通过阅读源码,你可以了解到如何设置和管理布局的各个部分,...
### 布局layout知识点详解 #### 一、EasyUI简介 EasyUI是一个基于jQuery的用户界面插件集合。它提供了各种UI组件,使得开发者能够快速地构建出丰富的Web应用程序界面。EasyUI不仅简化了前端开发流程,还提高了开发...
13. **easyui-layout (布局)**:`easyui-layout` 提供了一种灵活的页面布局方式,可以将页面划分为多个区域,每个区域可以放置任意内容,支持动态调整大小和隐藏显示。 14. **easyui-menubutton (菜单按钮)**:`...
8. **布局(Layout)**:提供区域划分功能,可以将页面分割成多个区域,支持动态调整大小和隐藏显示。 9. **下拉框(ComboBox)**:组合框组件,集输入框和下拉列表于一体,可以实现自动补全、选择项等功能。 10. ...
1. **Layout(布局)**: Layout 是 EasyUI 提供的一种页面布局工具,它可以将页面划分为多个区域,如北、南、东、西、中等,方便地调整各个部分的内容和大小。在公司管理后台模板中,layout 可用于组织不同的功能...
在提供的文档中,“jQuery EasyUI.pdf”主要涵盖了 EasyUI 的 API 文档以及一些基础性的使用指导。该文档由 Richie Wang 编写,其 CSDN 账号为 richie696,最新版本为 v1.5.2 Build1,发布日期为 2017 年 6 月 27 日...
**Accordion**是一种可以用来组织页面内容的组件,它通过可折叠的标签来实现内容的隐藏与显示,非常适合于创建FAQ(常见问题解答)等类型的网页。 - **实例**:使用Accordion组件创建一个简单的FAQ列表。 - **参数*...
- **Layout**:布局组件,用于创建复杂的页面结构,如头部、主体、侧边栏等。 - **Grid**:表格组件,用于展示大量数据,支持分页、排序、过滤和行操作。 - **Form**:表单组件,用于数据输入和编辑,支持各种...
1.2.5版本的Layout组件支持动态调整大小和隐藏显示,适应各种屏幕尺寸。 5. **其他组件**:如Tree和Combobox提供了层次结构的数据展示和选择功能,Tooltip则为元素添加了浮动提示信息,丰富了用户交互体验。 这个...