简单介绍:


说明: ($.fn.layout)布局,依赖panel和resizable,默认分为5个区东east,西west,南south,北north,中center,中间的区域面板是必须的,边缘区域面板是可选的,每个边缘区域面板可通过拖拽边框调整尺寸,也可以通过点击折叠触发器来折叠面板.布局可嵌套,因此用户可建立复杂的布局.


基础用法:


<div id="l" class="easyui-layout">
    <div data-options="region:'east',width:100,title:'east title'"></div>
    <div data-options="region:'west',width:200,title:'west title'"></div>
    <div data-options="region:'south',width:100,height:100,title:'south title'"></div>
    <div data-options="region:'north',width:100,height:100,title:'north title'"></div>
    <div data-options="region:'center',title:'center title'">
        <div id="ll" class="easyui-layout" data-options="fit:true">
            <div data-options="region:'west',title:'sub west title',width:200"></div>
            <div data-options="region:'center',title:'sub center title',collapsed:true"></div>
        </div>
    </div>           
</div>
<!-- 说明: 加载jquery-easyui脚本文件 -->
<script src="js/jquery-easyui/jquery.min.js"></script>
<script src="js/jquery-easyui/jquery.easyui.min.js"></script>
<script src="js/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
<style type="text/css">
    body {
        padding: 0;
        margin: 0;
    }
</style>
<script type="text/javascript">
    var width = $(document).width();
    var height = $(document).height();
    $('#l').layout({
        width: width,
        height: height,
    });
</script>


布局属性:


fit -> boolean

说明: 当设置为true时,就设置布局的尺寸适应它的父容器,当在body标签上创建布局时,它将自动最大化到整个页面的全部尺寸


<body class="easyui-layout" data-options="fit:true">
    <div data-options="region:'east',width:100,title:'east title'"></div>
    <div data-options="region:'west',width:200,title:'west title'"></div>
    <div data-options="region:'south',width:100,height:100,title:'south title'"></div>
    <div data-options="region:'north',width:100,height:100,title:'north title'"></div>
    <div data-options="region:'center',title:'center title'">
        <div id="ll" class="easyui-layout" data-options="fit:true">
            <div data-options="region:'west',title:'sub west title',width:200"></div>
            <div data-options="region:'center',title:'sub center title',collapsed:true"></div>
        </div>
    </div>           
    <!-- 说明: 加载jquery-easyui脚本文件 -->
    <script src="js/jquery-easyui/jquery.min.js"></script>
    <script src="js/jquery-easyui/jquery.easyui.min.js"></script>
    <script src="js/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
</body>


布局接口:


resize -> function

说明: 设置面板尺寸并且做布局,需要传入包含width/height/left/top的对象

panel -> function

说明: 返回指定面板,需要传递region参数,参数支持north,south,east,west,center

collapse -> function

说明: 折叠指定的面板,需要传递region参数,参数支持north,south,east,west,center

expand -> function

说明: 展开指定的面板,需要传递region参数,参数支持north,south,east,west,center

add -> function

说明: 添加一个指定的面板,options参数一个配置对象

remove -> function

说明: 移除指定的面板,需要传递region参数,参数支持north,south,east,west,center


<body class="easyui-layout" data-options="fit:true">
    <div data-options="region:'east',width:100,title:'east title'">
    </div>
    <div data-options="region:'west',width:200,title:'west title'"></div>
    <div data-options="region:'south',width:100,height:100,title:'south title'">
    </div>
    <div data-options="region:'north',width:100,height:100,title:'north title'">
        <div>
            <fieldset>
                <legend>操作区</legend>
                <a href="#" class="easyui-linkbutton" onclick="javascript:westLoad(this);">左侧加载远程数据</a>
                <a href="#" class="easyui-linkbutton" onclick="javascript:westCollapse(this);">左侧面板缓慢合并</a>
                <a href="#" class="easyui-linkbutton" onclick="javascript:westExpand(this);">左侧面板缓慢展开</a>
                <a href="#" class="easyui-linkbutton" onclick="javascript:centerRemove(this);">删除中间左边面板</a>
                <a href="#" class="easyui-linkbutton" onclick="javascript:centerAdd(this);">添加中间左边面板</a>
            </fieldset>
        </div>
    </div>
    <div data-options="region:'center',title:'center title'">
        <div id="ll" class="easyui-layout" data-options="fit:true">
            <div data-options="region:'west',title:'sub west title',width:200"></div>
            <div data-options="region:'center',title:'sub center title',collapsed:true"></div>
        </div>
    </div>           
    <!-- 说明: 加载jquery-easyui脚本文件 -->
    <script src="js/jquery-easyui/jquery.min.js"></script>
    <script src="js/jquery-easyui/jquery.easyui.min.js"></script>
    <script src="js/jquery-easyui/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript">
        function westLoad(that) {
            var $wpanel = $('body').layout('panel', 'west');
            $wpanel.panel({
                extractor: function(data){
                    var h = '<ul>';
                    var d = JSON.parse(data);
                    for(var i=0; i<d['total']; i++){
                        h += '<li><a href="#">' + d['rows'][i]['name'] + '</a></li>'
                    };
                    h += '</ul>';
                    return h;
                },
            });
            $wpanel.panel('refresh', '/easyui/data.json');
        };
        function westCollapse(that){
            $('body').layout('collapse', 'west');
        };
        function westExpand(that){
            $('body').layout('expand', 'west');
        };
        function centerRemove(that){
            $('#ll').layout('remove', 'west');
        };
        function centerAdd(that){
            $('#ll').layout('add', {region:'west',title:'sub west title',width:200})
        };
    </script>
</body>


面板扩展:


title -> string

说明: 布局面板的标题文本.

region -> string

说明: 定义布局面板的位置,其值可以为north,south,east,west,center

border -> boolean

说明: 当设置为true时,就显示布局面板的边框

split -> boolean

说明: 当设置为true时,就显示拆分栏,用户可以改变面板的尺寸.

iconCls -> string

说明: 当面板头部显示一个图表的css class

href -> string

说明: 从远程站点加载数据的url

collapsible -> boolean

说明: 定义是否显示可折叠按钮.

minWidth -> number

说明: 面板的最小宽度

maxWidth -> number

说明: 面板的最大宽度

minHeigit -> number

说明: 面板的最小高度

maxHeight -> number

说明: 面板的最大高度