十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
jquery mobile默认最多只支持5列(也就是class为ui-grid-d)。
创新互联公司主营修水网站建设的网络公司,主营网站建设方案,成都app软件开发,修水h5小程序设计搭建,修水网站营销推广欢迎修水等地区企业咨询
h3Grid D (20/20/20/20/20)/h3
div class="ui-grid-d ui-responsive"
div class="ui-block-a"div class="ui-body ui-body-d"A/div/div
div class="ui-block-b"div class="ui-body ui-body-d"B/div/div
div class="ui-block-c"div class="ui-body ui-body-d"C/div/div
div class="ui-block-d"div class="ui-body ui-body-d"D/div/div
div class="ui-block-e"div class="ui-body ui-body-d"E/div/div
/div
如果是6列,你完全可以使用table,使用六个td解决。不一定非要用其内置的类。
table
tr
td1/td
td2/td
td3/td
td4/td
td5/td
td6/td
/tr
/table
你这个问题问的好大。
1、响应式布局:
media选择器。根据宽度通过样式控制页面布局
直接使用样式百分比来控制。
通过js监控页面宽度,然后通过js手动去控制页面布局,显示元素或者隐藏元素,设置某些元素宽高之类的。
2、鼠标滚动:常用 mousewheel 事件,滚动事件
3、动画效果 :可以选择css3的动画,或者js自己写动画
综上所述:你需要通过 2的事件来控制1,不过1的样式中要加入动画样式(3)。大功告成
chm里都是方式方法。也有现成效果
不知道是不是你想要的。
script src="js/jquery-1.6.1.min.js"/script
style type="text/css"
html,body{ margin:0; padding:0;}
div{ border:5px solid #f00;}
/style
script
$(function(){
var objW = $(window);
var viewport = $("#viewport");
changeSize();
objW.bind("resize",function(){
changeSize()
});
function changeSize(){
brsH = objW.height();
brsW = objW.width();
viewport.width(brsW);
viewport.height(brsH);
}
})
/script
/head
body
div id="viewport"/div
/body
/html
UI
Layout是一种基于jQuery的布局框架,项目主页。该框架的参考原型是ExtJS的
border-layout,因此十分适用于将原有使用ExtJS的项目改造成jQuery项目。其核心是一个大小自适应的中心面板(必选),面板的上下
左右四个方向可以放置可折叠、可缩放的面板(可选),各个面板可以添加任意数量的页眉和页脚面板。UI
Layout支持内层布局的嵌套,任意块元素都可以当作布局的容器,最基本的布局容器是body。
基本使用方法:获取容器元素并调用layout方法,传入配置参数(可选)options即可:
$('body').layout( [options] );通常保留布局的引用,以便于进一步通过代码控制布局的形态。
复制代码 代码如下:
var myLayout = $('body').layout();
// 读取布局配置选项
var is_west_resizable = myLayout.options.west.resizable;
var north_maxHeight = myLayout.options.north.maxSize;
// 调用布局函数
myLayout.toggle("north");
myLayout.sizePane("west", 300);
// 调用布局工具
myLayout.addPinBtn("#myPinButton", "west");
myLayout.allowOverflow("north");
所
有面板基于现有的HTML元素,而面板的附属组件(缩放器和折叠开关)是自动生成的div元素,并且加上了对应的class属性。几乎所有的面板元素都必
须是容器元素的直接子元素,form容器是一个例外。我们可以为相应的HTML元素赋予默认的类名,或者自定义的类名、id,来指定布局面板。下面举个直
观的例子:
复制代码 代码如下:
$(document).ready(function() {
$("body").layout({
/*
east west panes require 'ID' selectors
because they are 'nested inside a div'
*/
west__paneSelector: "#west"
, east__paneSelector: "#east"
/*
north south panes are 'children of body'
*/
, north__paneSelector: ".ui-layout-north"//默认配置,可省略
, south__paneSelector: ".myclass-south"
/*
center pane is a 'child of the first form'
default-selector shown just for reference
*/
, center__paneSelector: ".ui-layout-center"//默认配置,可省略
});
});
对应的页面:
复制代码 代码如下:
body
!-- 'north' 'south' are children of body --
div class="ui-layout-north"north/div
div class="myclass-south"south/div
!-- 'center' is nested inside a form --
form
div class="ui-layout-center"center/div
/form
!-- 'east' 'west' are nested inside a div --
div
div id="west"west/div
div id="east"east/div
/div
/body
在
本例中,布局容器是body,南、北面板是容器的直接子元素,南面板使用自定义类名“myclass-south”,需要在布局参数
south__paneSelector中指定jQuery选择器;北面板使用默认类名“ui-layout-north”。东、西面板不是容器的直接子
元素,需要指定id才能识别(不可以用类选择器),并且在布局参数“west__paneSelector”中指明对应的id。中心面板嵌套在form
中,此时面板可以使用默认类名或自定义类名来识别。当一个面板满足下列两个条件时才可以使用自定义类选择器,否则只能用id选择器来识别:1、面板是
form的直接子元素2、该form是容器的直接子元素,并且是容器中的第一个form。
面板之间的空隙构成了面板的边,边的概念是相对
于上下左右方向的面板而言的,由于可以设置拖动面板的边实现对应面板的缩放,所以称这些边为“缩放器”;缩放器上面通常附加一个折叠开关负责面板的折叠与
打开。当两个面板之间没有空隙时,缩放器和折叠开关随之消失。面板打开和折叠状态下,缩放器的宽度可以分别指定为不同的值。
少用 JS 多用 CSS, 提升运行效率. 另外 resize 事件当用鼠标拖放窗口大小时, 触发非常频繁, 谨慎使用.
建议 body 下 布局一个 DIV, 这个DIV 的 CSS 可以这样处理:
{
position: absolute;
left:0px;
right:0px;
top:0px;
bottom:0px;
overflow:auto;
}
然后再在这个 div中进行布局, 子div可以用 100%相对布局, 页面宽度就自动撑开了.
另外一种常用布局是用 table 设置宽度为100%进行布局, 不过有很多局限, 用的少了.
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=toListchannelType=1handleFlag=aply_wait"
}
},{
"text":"商户审批中申请",
"attributes":{
"url":"waterAply.do?method=toListchannelType=1handleFlag=aply_current"
}
},{
"text":"商户审批通过申请",
"attributes":{
"url":"waterAply.do?method=toListchannelType=1handleFlag=aply_pass"
}
},{
"text":"商户被拒绝申请",
"attributes":{
"url":"waterAply.do?method=toListchannelType=1handleFlag=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实现上左右布局的相关内容,希望对大家有所帮助。