首先解释一下标题的含义,当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化、还原窗口的时候,layout的某个区域不能填充因为浏览器扩大而产生的空白区域,这时候看起来就比较别扭了。当然了,如果你的layout是直接放在body标签上的,且没有嵌套的layout的话,是不会出现layout不能自适应大小的情况的。
当布局比较复杂,势必就会要layout嵌套起来使用,这时候出现的页面不能自适应大小的情况就让我不能忍受,这个问题困扰了我几天时间,好在有万能的网络,问题总会得到解决,下面就将自己这两天查资料以及自己实践的经验介绍给大家,希望对以后遇到同样问题的朋友有所帮助。但是此处并不做深入分析,因为我也不熟悉jQuery和easyui。
先写一个有嵌套的layout,父级基于body,包含north,center,west,east,south五个区域,子级layout基于父级的center区域,如果你打开页面的时候,浏览器不是最大化,然后手工调整浏览器大小,就会发现问题所在。
其实,layout继承自panel,而panel有个fit属性,只要设置为true,layout就能自适应父元素的大小而变化,所以只要加上fit=”true”基本就可以解决问题,相对于不能自适应的情况,变动的代码只有一行。
这种解决方案应该是最简单的了,不过在非IE浏览器下面,大家可能会发现,反复调整浏览器大小,特别是缩小浏览器的时候,子级的layout就会出现滚动条,一时半会儿也没查出是什么原因导致的。所以网上还有一种较为复杂的解决方案,那就是利用jQuery的resize事件对浏览器窗口监听,当浏览器被调整时重新设置某些页面元素大小,要自适应大小的话,只要设置成跟父元素同宽就可以了,下面是JS代码:
var settime = null; function redraw() { $(‘#wrap’).layout(‘resize’); $(‘#subWrap’).layout(‘panel’, ‘north’).panel(‘resize’, { width: $(‘#subWrap’).width() }); $(‘#subWrap’).layout(‘panel’, ‘center’).panel(‘resize’, { width: $(‘#subWrap’).width() }); $(‘#subWrap’).layout(‘resize’); } $(function() { $(window).resize(function() { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); }); var p1 = $(‘body’).layout(‘panel’, ’west’).panel({ onCollapse: function() { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); }, onExpand: function() { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); }, onResize: function(width, height) { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); } }); var p2 = $(‘body’).layout(‘panel’, ’east’).panel({ onCollapse: function() { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); }, onExpand: function() { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); }, onResize: function(width, height) { if (settime != null) clearTimeout(settime); settime = setTimeout(“redraw()”, 100); } }); });
相关推荐
本文主要探讨如何使用 jQuery EasyUI Layout 实现从布局在窗口大小调整时自适应的方法。 在 jQuery EasyUI 中,Layout 是一个强大的组件,用于创建复杂的页面布局。然而,当 Layout 应用于 form 元素时,可能会遇到...
在这个例子中,`fit:true` 使得整个 `layout` 随浏览器窗口大小变化而调整大小,`north` 区域固定高度,而 `center` 区域中的 Datagrid 会自适应剩余空间。 3. 基于不同标签的 EasyUI-Layout - **基于 body 标签**...
Layout(布局)是 jQuery EasyUI 中的一个核心组件,它允许我们在网页上创建复杂的布局结构,方便地管理和组织页面内容。在本篇文章中,我们将深入探讨 jQuery EasyUI 中的 Layout(面板布局)及其相关API。 Layout...
6. **布局组件**:如布局(`layout`)、拆分面板(`splitter`),用于创建响应式和自适应的页面布局。 7. **其他组件**:如时间选择器(`datetimebox`)、滑块(`slider`)、颜色选择器(`colorpicker`)等实用小...
Jquery EasyUI Frame Wanglim V1.0是一款专为初学者设计的Web界面框架,它充分利用了EasyUI的功能,实现了页面自适应布局,以及对多种组件的有效整合,如Plan、datagrid、easyui-layout和tree等,大大简化了Web应用...
3. **高级布局**: 提供更精细的布局选项,比如可拖动的分割线,自适应屏幕大小的布局等。 4. **多语言支持**: 帮助开发者实现多语言切换,提升应用的国际化能力。 5. **自定义组件**: 提供工具和方法,让开发者...
3. 布局(Layout):布局组件允许开发者将页面划分为多个区域,如北、南、东、西和中心,便于实现响应式设计和自适应屏幕尺寸的布局。 4. 窗帘(Curtain):窗帘效果常用于加载提示或遮罩层,为用户呈现一个半透明...
首先,EasyUI 的主要组成部分包括布局(Layout)、表单(Form)、表格(Grid)、对话框(Dialog)、菜单(Menu)等常用组件。在这一版本中,这些组件都进行了优化和增强,以提供更好的用户体验和更高的性能。 1. **...
1. **Layout(布局)**:提供了灵活的网格系统,可以轻松创建响应式和自适应的页面布局。 2. **DataGrid(数据网格)**:用于展示大量结构化数据,支持排序、筛选、分页等功能,常用于表格数据的管理。 3. **Form...
jQuery EasyUI 是一个轻量级且功能丰富的前端框架,它基于 jQuery 库,提供了一系列的用户界面组件,如对话框、表单、菜单、布局等,帮助开发者快速构建交互式的 Web 应用程序。EasyUI 的核心优势在于其简化了 HTML ...
- **布局管理**:通过 panel 和 layout 组件,可以方便地实现页面的网格布局和自适应设计。 - **菜单和工具栏**:提供菜单和工具栏组件,使得用户界面更具交互性。 - **数据网格**:datagrid组件支持分页、排序、...
1. 兼容性提升:jQuery EasyUI 1.5 对最新的浏览器版本进行了优化,包括Chrome、Firefox、Safari以及Edge等,确保在不同环境下稳定运行。 2. 性能优化:1.5版本对内部代码进行了重构,提高了组件的加载速度和运行...
- **表格布局(Table Layout)**:用于创建复杂的网格布局,支持单元格合并和自适应。 3. **数据处理**: - **数据绑定(Data Binding)**:将组件与数据源关联,自动更新视图。 - **远程数据(Remote Data)**...
此外,EasyUI 还强调布局的灵活性,其`layout`组件可以方便地组织页面元素,创建出响应式和自适应的设计。在DEMO中,我们可能会看到一个有序、整洁的界面布局,这得益于EasyUI的布局管理能力。 这个DEMO对于初学者...
本文档介绍了jQuery EasyUI中的Layout组件,特别关注了其中的Tabs布局,这是用来创建多个标签页的组件。以下是对文档中提到的知识点的详细说明: ### jQuery EasyUI 中文API Layout(Tabs) #### 1. 引入文件 在...
5. **页面布局**:借助EasyUI的layout组件,可以灵活地划分页面区域,实现自适应布局。 总的来说,“jQuery+easyui应用框架”提供了一个便捷的起点,开发者可以在此基础上快速搭建后台管理系统,减少了从零开始编码...
2. **响应式设计**:EasyUI支持响应式布局,可以自适应不同设备的屏幕大小,使得在移动设备上也能有良好的用户体验。 3. **主题定制**:EasyUI提供了多种预设主题,并允许开发者自定义样式,以满足不同项目的需求和...
- **布局(Layout)**:帮助开发者轻松实现页面区域划分,实现自适应和响应式布局。 - **窗帘(Curtain)**:通常作为加载提示,遮罩屏幕,显示加载状态。 - **表格(Grid)**:可进行数据展示和管理,支持排序、...