• EasyUI笔记(二)Layout布局


    本系列只列出一些常用的属性、事件或方法,具体完整知识请查看API文档

    Panel(面板)

     
    1. 通过标签创建面板
    1. <div id="p" class="easyui-panel" title="My Panel"
    2. style="width:500px;height:150px;padding:10px;background:#fafafa;"
    3. data-options="iconCls:'icon-save',closable:true,
    4. collapsible:true,minimizable:true,maximizable:true">
    5. <p>panel content.</p>
    6. <p>panel content.</p>
    7. </div>
    2. 创建面板程序
    1. <div id="p" style="padding:10px;">
    2. <p>panel content.</p>
    3. <p>panel content.</p>
    4. </div>
    5. $('#p').panel({
    6. 500,
    7. height:150,
    8. title: 'My Panel',
    9. tools: [{
    10. iconCls:'icon-add',
    11. handler:function(){alert('new')}
    12. },{
    13. iconCls:'icon-save',
    14. handler:function(){alert('save')}
    15. }]
    16. });

    属性

    属性名属性值类型描述默认值
    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添加一个当前指定样式到面板。

    如下代码示例更改面板边框宽度:

    <div class="easyui-panel" style="200px;height:100px"
            data-options="style:{borderWidth:2}">
    </div>
    {}
    fitboolean当设置为true的时候面板大小将自适应父容器。下面的例子显示了一个面板,可以自动在父容器的最大范围内调整大小。
    <div style="200px;height:100px;padding:5px">
    	<div class="easyui-panel" style="200px;height:100px"
    			data-options="fit:true,border:false">
    		Embedded Panel
    	</div>
    </div>
    
    false
    borderboolean定义是否显示面板边框。true
    doSizeboolean如果设置为true,在面板被创建的时候将重置大小和重新布局。true
    noheaderboolean如果设置为true,那么将不会创建面板标题。false
    contentstring面板主体内容。null
    collapsibleboolean定义是否显示可折叠按钮。false
    minimizableboolean定义是否显示最小化按钮。false
    maximizableboolean定义是否显示最大化按钮。false
    closableboolean定义是否显示关闭按钮。false
    toolsarray,selector自定义工具菜单,可用值:
    1) 数组,每个元素都包含'iconCls'和'handler'属性。
    2) 指向工具菜单的选择器。

    面板工具菜单可以声明在已经存在的<div>标签上:

    <div class="easyui-panel" style="300px;height:200px"
    		title="My Panel" data-options="iconCls:'icon-ok',tools:'#tt'">
    </div>
    <div id="tt">
    	<a href="#" class="icon-add" onclick="javascript:alert('add')"></a>
    	<a href="#" class="icon-edit" onclick="javascript:alert('edit')"></a>
    </div>
    

    面板工具菜单也可以通过数组定义:

    <div class="easyui-panel" style="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>
    
    []
    collapsedboolean定义是否在初始化的时候折叠面板。false
    minimizedboolean定义是否在初始化的时候最小化面板。false
    maximizedboolean定义是否在初始化的时候最大化面板。false
    closedboolean定义是否在初始化的时候关闭面板。false
    hrefstring从URL读取远程数据并且显示到面板。注意:内容将不会被载入,直到面板打开或扩大,在创建延迟加载面板时非常有用
    <div id="pp" class="easyui-panel" style="300px;height:200px"
    		data-options="href='get_content.php',closed:true">
    </div>
    <a href="#" onclick="javascript:$('#pp').panel('open')">Open</a>
    
    null
    cacheboolean如果为true,在超链接载入时缓存面板内容。true
    loadingMessagestring在加载远程数据的时候在面板内显示一条消息。Loading…
    extractorfunction定义如何从ajax应答数据中提取内容,返回提取数据。
    extractor: function(data){
    	var pattern = /<body[^>]*>((.|[
    
    ])*)</body>/im;
    	var matches = pattern.exec(data);
    	if (matches){
    		return matches[1];	// 仅提取主体内容
    	} else {
    		return data;
    	}
    }
    

    Tabs(选项卡)


    1. 通过标签创建选项卡
    通过标签可以更容易的创建选项卡,我们不需要写任何Javascript代码。只需要给<div/>标签添加一个类ID'easyui-tabs'。每个选项卡面板都通过子<div/>标签进行创建,用法和panel(面板)相同。
    1. <div id="tt" class="easyui-tabs" style="width:500px;height:250px;">
    2. <div title="Tab1" style="padding:20px;display:none;">
    3. tab1
    4. </div>
    5. <div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;">
    6. tab2
    7. </div>
    8. <div title="Tab3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">
    9. tab3
    10. </div>
    11. </div>
    2. 通过Javascript创建选项卡
    1. $("#tabs-tt2").tabs({
    2. width:600,
    3. height:300,
    4. //plain:true,
    5. //fit:true,
    6. //border:false,
    7. //tabWidth:300,
    8. scrollncrement:200,
    9. scrollDuration:2000,
    10. tools:[{
    11. iconCls:'icon-add',
    12. handler:function(){
    13. alert('添加')
    14. }
    15. },{
    16. iconCls:'icon-cut',
    17. handler:function(){
    18. alert('裁剪')
    19. }
    20. }],
    21. toolPosition:'right',
    22. //tabPosition:'left',
    23. //headerWidth:200,
    24. //selected:2,
    25. onSelect:function(title,index){
    26. //alert('title:'+title+';index:'+index);
    27. },
    28. onContextMenu:function(e,title,index){
    29. alert(e.type);
    30. }
    31. });

    属性

    属性名属性值类型描述默认值
    widthnumber选项卡容器宽度。auto
    heightnumber选项卡容器高度。auto
    plainboolean设置为true时,将不显示控制面板背景。false
    fitboolean设置为true时,选项卡的大小将铺满它所在的容器。false
    borderboolean设置为true时,显示选项卡容器边框。true
    scrollIncrementnumber选项卡滚动条每次滚动的像素值。100
    scrollDurationnumber每次滚动动画持续的时间,单位:毫秒。400
    toolsarray,selector工具栏添加在选项卡面板头的左侧或右侧。可用的值有:
    1. 一个工具菜单数组,每个工具选项都和linkbutton相同。
    2. 一个指向<div/>容器工具菜单的选择器。

    代码示例: 

    通过数组定义工具菜单。

    $('#tt').tabs({
    	tools:[{
    		iconCls:'icon-add',
    		handler:function(){
    			alert('添加')
    		}
    	},{
    		iconCls:'icon-save',
    		handler:function(){
    			alert('保存')
    		}
    	}]
    });
    

    通过存在的DOM容器定义工具菜单。

    $('#tt').tabs({
    	tools:'#tab-tools'
    });
    <div id="tab-tools">
    	<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-add"></a>
    	<a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-save"></a>
    </div>
    
    null
    toolPositionstring工具栏位置。可用值:'left','right'。(该属性自1.3.2版开始可用)right
    tabPositionstring选项卡位置。可用值:'top','bottom','left','right'。(该属性自1.3.2版开始可用)top
    headerWidthnumber选项卡标题宽度,在tabPosition属性设置为'left'或'right'的时候才有效。(该属性自1.3.2版开始可用)150
    tabWidthnumber标签条的宽度。(该属性自1.3.4版开始可用)auto
    tabHeightnumber标签条的高度。(该属性自1.3.4版开始可用)27
    selectednumber初始化选中一个tab页。(该属性自1.3.5版开始可用)0
    showHeaderboolean设置为true时,显示tab页标题。(该属性自1.3.5版开始可用)true

    选项卡面板

     

    选项卡面板属性与panel组件属性的定义类似,下面是2个组件的一些公共属性。

    属性名属性值类型描述默认值
    idstring选项卡面板的ID属性。null
    titlestring选项卡面板的标题文本。
    contentstring选项卡面板的内容。
    hrefstring从URL加载远程数据内容填充到选项卡面板。null
    cacheboolean如果为true,在'href'属性设置了有效值的时候缓存选项卡面板。true
    iconClsstring定义了一个图标的CSS类ID显示到选项卡面板标题。null
    widthnumber选项卡面板宽度。auto
    heightnumber选项卡面板高度。auto
    collapsibleboolean如果为true,则允许选项卡摺叠。false

    下面的是选项卡面板新增且独有的属性。

    属性名属性值类型描述默认值
    closableboolean在设置为true的时候,选项卡面板将显示一个关闭按钮,在点击的时候会关闭选项卡面板。false
    selectedboolean在设置为true的时候,选项卡面板会被选中。false

    添加新面板

    1. $("#tabs-tt2").tabs('add',{
    2. id:'ddd',
    3. title:'新的面板',
    4. href:'test.php',
    5. iconCls:'icon-add',
    6. closable:true,
    7. });

    Accordion(分类)

    分类空间允许用户使用多面板,但在同一时间只会显示一个。每个面板都内建支持展开和折叠功能。点击一个面板的标题将会展开或折叠面板主体。面板内容可以通过指定的'href'属性使用ajax方式读取面板内容。用户可以定义一个被默认选中的面板,如果未指定,那么第一个面板就是默认的。
    通过标签创建分类,给<div/>标签添加一个名为'easyui-accordion'的类ID。
    1. <div id="aa" class="easyui-accordion" style="width:300px;height:200px;">
    2. <div title="Title1" data-options="iconCls:'icon-save'" style="overflow:auto;padding:10px;">
    3. <h3 style="color:#0099FF;">Accordion for jQuery</h3>
    4. <p>Accordion is a part of easyui framework for jQuery.
    5. It lets you define your accordion component on web page more easily.</p>
    6. </div>
    7. <div title="Title2" data-options="iconCls:'icon-reload',selected:true" style="padding:10px;">
    8. content2
    9. </div>
    10. <div title="Title3">
    11. content3
    12. </div>
    13. </div>

    容器属性

    属性名属性值类型描述默认值
    widthnumber分类容器的宽度。auto
    heightnumber分类容器的高度。auto
    fitboolean如果设置为true,分类容器大小将自适应父容器。false
    borderboolean定义是否显示边框。true
    animateboolean定义在展开和折叠的时候是否显示动画效果。true
    multipleboolean如果为true时,同时展开多个面板。(该属性自1.3.5版开始可用) false
    selectednumber设置初始化时默认选中的面板索引号。(该属性自1.3.5版开始可用) 0

     

    面板属性

    分类面板属性继承自panel(面板),分类面板新增的属性如下:

    属性名属性值类型描述默认值
    selectedboolean如果设置为true将展开面板。false
    collapsibleboolean如果设置为true将显示折叠按钮。true

    Layout(布局)

    布局容器有5个区域:北、南、东、西和中间。中间区域面板是必须的,边缘的面板都是可选的。每个边缘区域面板都可以通过拖拽其边框改变大小,也可以点击折叠按钮将面板折叠起来。布局可以进行嵌套,用户可以通过组合布局构建复杂的布局结构。
     1. 通过标签创建布局,为<div/>标签增加名为'easyui-layout'的类ID。
     
    1. <div id="cc" class="easyui-layout" style="width:600px;height:400px;">
    2. <div data-options="region:'north',title:'North Title',split:true" style="height:100px;"></div>
    3. <div data-options="region:'south',title:'South Title',split:true" style="height:100px;"></div>
    4. <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>
    5. <div data-options="region:'west',title:'West',split:true" style="width:100px;"></div>
    6. <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"></div>
    7. </div>
    2. 使用完整页面创建布局
    1. <body class="easyui-layout">
    2. <div data-options="region:'north',title:'North Title',split:true" style="height:100px;"></div>
    3. <div data-options="region:'south',title:'South Title',split:true" style="height:100px;"></div>
    4. <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>
    5. <div data-options="region:'west',title:'West',split:true" style="width:100px;"></div>
    6. <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"></div>
    7. </body>
    3. 创建嵌套布局
    1. <body class="easyui-layout">
    2. <div data-options="region:'north'" style="height:100px"></div>
    3. <div data-options="region:'center'">
    4. <div class="easyui-layout" data-options="fit:true">
    5. <div data-options="region:'west',collapsed:true" style="width:180px"></div>
    6. <div data-options="region:'center'"></div>
    7. </div>
    8. </div>
    9. </body>
    4. 通过ajax读取内容
    1. <body class="easyui-layout">
    2. <div data-options="region:'west',href:'west_content.php'" style="width:180px" ></div>
    3. <div data-options="region:'center',href:'center_content.php'" ></div>
    4. </body>

    布局属性

    属性名属性值类型描述默认值
    fitboolean如果设置为true,布局组件将自适应父容器。当使用'body'标签创建布局的时候,整个页面会自动最大。false

     

    区域面板属性

    区域面板属性定义与panel组件类似,下面的是公共的和新增的属性:

    属性名属性值类型描述默认值
    titlestring布局面板标题文本。null
    regionstring定义布局面板位置,可用的值有:north, south, east, west, center。
    borderboolean为true时显示布局面板边框。true
    splitboolean为true时用户可以通过分割栏改变面板大小。false
    iconClsstring一个包含图标的CSS类ID,该图标将会显示到面板标题上。null
    hrefstring用于读取远程站点数据的URL链接null
    collapsibleboolean定义是否显示折叠按钮。(该属性自1.3.3版开始可用)true
    minWidthnumber最小面板宽度。(该属性自1.3.3版开始可用)10
    minHeightnumber最小面板高度。(该属性自1.3.3版开始可用)10
    maxWidthnumber最大面板宽度。(该属性自1.3.3版开始可用)10000
    maxHeightnumber最大面板高度。(该属性自1.3.3版开始可用)10000


  • 相关阅读:
    RHEL6 建立DVD repo
    stl之std::remove_copy
    分鱼问题
    Nutch的日志系统
    log4j配置文件及nutch中的日志配置
    slf4j教程
    Java中的日期操作
    Avro基础
    【JAVA编码专题】总结
    【JAVA编码专题】深入分析 Java 中的中文编码问题
  • 原文地址:https://www.cnblogs.com/iwsx/p/7131401.html
Copyright © 2020-2023  润新知