使用easyui进行上左右布局

在后台管理系统开发的过程中,上左右的布局是最常见的页面布局方式,现在我们来看看使用easyui这个jquery前端框架如何快速搭建一个可用的页面框架。

1.在页面中引入easyui所需的文件

1 <%-- 加载easyui的样式文件,bootstrap风格 --%>
2 <link href="${ctx }/css/themes/bootstrap/easyui.css" rel="stylesheet">
3 <link href="${ctx }/css/themes/icon.css" rel="stylesheet">
4 <%-- 加载jquery和easyui的脚本文件 --%>
5 <script src="${ctx }/js/jquery-easyui-1.4.4/jquery.min.js"></script>
6 <script src="${ctx }/js/jquery-easyui-1.4.4/jquery.easyui.min.js"></script>
7 <script src="${ctx }/js/jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>

2.在页面body部分构建必要的html结构

<body>
<div id="home-layout">
    <!-- 页面北部,页面标题 -->
    <div data-options="region:‘north‘" style="height:50px;">
    <!-- add your code -->
    </div>
    <!-- 页面西部,菜单 -->
    <div data-options="region:‘west‘,title:‘菜单栏‘" style="width:200px;">
        <div class="home-west">
            <ul id="home-west-tree"></ul>
        </div>
    </div>
    <!-- 页面中部,主要内容 -->
    <div data-options="region:‘center‘">
        <div id="home-tabs">
            <div title="首页">
                <h2 style="text-align: center">欢迎登录</h2>
            </div>
        </div>
    </div>
</div>
</body>

这里需要注意一点:easyui在使用layout布局的时候,north、south需要指定高度,west、east需要指定宽度,而center会自动适应高和宽。

3.使用js初始化easyui组件

我个人比较推荐使用js代码去初始化easyui组件,而不使用easyui标签中的data-options属性去初始化。因为对于后台开发人员来说,写js代码可能比写html标签更加熟悉,而且这样使得html代码更加简洁。

<script>
$(function(){
    /*
     * 初始化layout
     */
    $("#home-layout").layout({
    //使layout自适应容器
    fit: true
    });

    /*
     * 获取左侧菜单树,并为其节点指定单击事件
     */
    $("#home-west-tree").tree({
    //加载菜单的数据,必需
       url: "${ctx }/pages/home-west-tree.json",
       method: "get",
    //是否有层次线
       lines: true,
    //菜单打开与关闭是否有动画效果
       animate: true,
    //菜单点击事件
       onClick: function(node){
           if(node.attributes && node.attributes.url){
         //打开内容区的tab,代码在其后
               addTab({
                   url: "${ctx }/" + node.attributes.url,
                   title: node.text
               });
           }
       }
   });

  /*
    * 初始化内容区的tabs
    */
   $("#home-tabs").tabs({
       fit : true,
    //tab页是否有边框
       border : false
   });})
</script>
<script>
/*
 * 在内容区添加一个tab
 */
function addTab(params){
    var t = $("#home-tabs");
    var url = params.url;
    var opts = {
            title: params.title,
            closable: true,
            href: url,
            fit: true,
            border: false
    };
    //如果被选中的节点对应的tab已经存在,则选中该tab并刷新内容
    //否则打开一个新的tab
    if(t.tabs("exists", opts.title)){
        var tab = t.tabs("select", opts.title).tabs("getSelected");
        t.tabs("update", {
            tab: tab,
            options: opts
        });
    }else{
        t.tabs("add", opts);
    }
}
</script>

4.easyui-tree组件所需的json格式

easyui使用的传输格式为json,它对json内容的格式有比较严格的限制,所以请注意查看api

[{
    "text":"区域管理",
    "attributes":{
        "url":"pages/consume/area/areaList.jsp"
    }
},{
    "text":"预约信息管理",
    "children":[{
        "text":"商户预约信息查询",
        "attributes":{
            "url":"/pages/consume/reservation/merchantReservation/merchantReservationList.jsp"
        }
    }]
},{
    "text":"准入申请管理",
    "children":[{
        "text":"商户准入申请",
        "state":"closed",
        "children":[{
            "text":"商户待处理申请",
            "attributes":{
                "url":"waterAply.do?method=toList&channelType=1&handleFlag=aply_wait"
            }
        },{
            "text":"商户审批中申请",
            "attributes":{
                "url":"waterAply.do?method=toList&channelType=1&handleFlag=aply_current"
            }
        },{
            "text":"商户审批通过申请",
            "attributes":{
                "url":"waterAply.do?method=toList&channelType=1&handleFlag=aply_pass"
            }
        },{
            "text":"商户被拒绝申请",
            "attributes":{
                "url":"waterAply.do?method=toList&channelType=1&handleFlag=aply_refuse"
            }
        }]
    }]
},{
    "text":"准入审批管理",
    "children":[{
        "text":"商户审批管理",
        "state":"closed",
        "children":[{
            "text":"当前任务",
            "children":[{
                "text":"商户当前初审任务",
                "attributes":{
                    "url":"pages/consume/approval/merchantApproval/merchantApprovalTrial.jsp"
                }
            },{
                "text":"商户当前复审任务",
                "attributes":{
                    "url":"pages/consume/approval/merchantApproval/merchantApprovalRetrial.jsp"
                }
            }]
        },{
            "text":"商户已完成任务",
            "attributes":{
                "url":"pages/consume/approval/merchantApproval/merchantApprovalDone.jsp"
            }
        },{
            "text":"商户不通过任务",
            "attributes":{
                "url":"pages/consume/approval/merchantApproval/merchantApprovalRefuse.jsp"
            }
        }]
    }]
}]

就这样,我们使用easyui完成了简单的上左右布局。

时间: 2025-01-01 05:28:20

使用easyui进行上左右布局的相关文章

HTML——上中下布局

上中下布局是最基本的布局方式,本例假设用户屏幕分辨率为800*600像素. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <met

雷林鹏分享:jQuery EasyUI 窗口 - 窗口与布局

jQuery EasyUI 窗口 - 窗口与布局 Layout 组件可以内嵌在窗口(window)中.我们可以创建一个复杂的布局窗口,甚至不需要写任何的 js 代码.jquery-easyui 框架帮我们在后台做渲染和调整尺寸. 作为一个实例,我们创建一个窗口(window),它包含两个部分,一个放置在左边一个放置在右边.在窗口(window)的左边我们创建一个树形菜单(tree),在窗口(window)的右边我们创建一个 tabs 容器. Library easyui Music Pictur

ActionBar-PullToRefreshLibs+沉浸式在部分手机上的布局错乱,目前知道的三星

前段时间看见ActionBar-PullToRefreshLibs用来刷新很好看,配合4.4以上支持的沉浸式效果更佳,于是便想配合沉浸式+ActionBar-PullToRefreshLibs做出一个效果,在自己的大神F2手机上看见没有问题,但是在三星note3上却出现了下拉actionbar刷新和actionbar错位的情况,非常郁闷.通过调试ActionBar-PullToRefreshLibs发现状态栏在设置沉浸式的时候在三星机器上的高度被抹了(rect.top=0),于是手动修改了Act

小程序 当button遇上Flex布局

当需要将button按行排列,当超过一行时,可以换行,从左到右排列,想实现如下效果(实现的比较粗糙,能说明问题就行,呵~~~): 使用Flex布局,在设置主轴方向上对齐方式,使用justify-content属性,默认是flex-start:项目对齐主轴起点,项目间不留空隙. 所以在wxss中就不需要写了justify-content属性了 于是写如下代码: // .wxml文件中<view class='btns'> <button>按钮1</button> <

上中下布局,上下高度指定,中间自适应(左中右同理)

采用相对布局,下面的View设置属性layout_alignParentBottom:true,放在底部, 中间的View需要分别设置 android:layout_above="" android:layout_below="" 这样中间的View就自动填充中间剩下的部分,并且它的高度属性失效. 效果图: 布局文件: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/re

easyui 图片上传功能详解

页面展示: 1.点击图片上传 跳转页面 携带2个参数  ID  NAME=所属模块 jsp 如图: js  可以上传文件和图片代码: $(function() {var falg=0;    $list = $('#thelist');    var uploader = WebUploader.create({        // 选完文件后,是否自动上传.        auto : false,        // swf文件路径        swf : 'plugins/expand/

css12---实战---布局---上中下布局,中间2列

<!DOCTYPE html><html><head><meta charset="utf-8"><title>浮动布局测试</title><link rel="stylesheet" type="text/css" href="layout2.css"><script src="layout2.js"><

jquery easyui filebox 上传附件 + asp.net后台

form必须加这个属性enctype="multipart/form-data",否则后台获取不到文件 1 <script> 2 function uploadFiles() { 3 $('#fm').form('submit', { 4 url: 'Upload.aspx?fjssmk=Xmgl', 5 success: function (result) { 6 var result = eval('(' + result + ')'); 7 //可以写一些提示的代码等

Xamarin.Android 上中下布局

xml代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_paren