jQuery Easyui实现左右布局


Posted in Javascript onJanuary 26, 2016

EasyUI 简介

easyui是一种基于jQuery的用户界面插件集合。

easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。

使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面。

easyui是个完美支持HTML5网页的完整框架。

easyui节省您网页开发的时间和规模。

easyui很简单但功能强大的。

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

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

<%-- 加载easyui的样式文件,bootstrap风格 --%>
<link href="${ctx }/css/themes/bootstrap/easyui.css" rel="stylesheet">
<link href="${ctx }/css/themes/icon.css" rel="stylesheet">
<%-- 加载jquery和easyui的脚本文件 --%>
<script src="${ctx }/js/jquery-easyui-../jquery.min.js"></script>
<script src="${ctx }/js/jquery-easyui-../jquery.easyui.min.js"></script>
<script src="${ctx }/js/jquery-easyui-../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完成了简单的左右布局。

以上所述是小编给大家分享的jQuery Easyui实现上左右布局的相关内容,希望对大家有所帮助。

Javascript 相关文章推荐
JavaScript 面向对象的 私有成员和公开成员
May 13 Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 Javascript
Jquery zTree 树控件异步加载操作
Feb 25 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
Aug 28 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 Javascript
Vue2 轮播图slide组件实例代码
May 31 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 Javascript
vue使用nprogress实现进度条
Dec 09 Javascript
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 #Javascript
js实现网页图片延时加载 提升网页打开速度
Jan 26 #Javascript
详解javascript new的运行机制
Jan 26 #Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 #Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 #Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 #Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
Jan 26 #Javascript
You might like
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
python和C语言混合编程实例
2014/06/04 Python
pycharm安装和首次使用教程
2018/08/27 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
Python库安装速度过慢解决方案
2020/07/14 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
学生感冒英文请假条
2014/02/04 职场文书
租房协议书
2014/04/10 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis
MYSQL 运算符总结
2021/11/11 MySQL
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS