jQuery布局插件UI Layout简介

UI Layout是一种基于jQuery的布局框架,项目主页http://layout.jquery-dev.net/。该框架的参考原型是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' selectorsbecause 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。

面板之间的空隙构成了面板的边,边的概念是相对于上下左右方向的面板而言的,由于可以设置拖动面板的边实现对应面板的缩放,所以称这些边为“缩放器”;缩放器上面通常附加一个折叠开关负责面板的折叠与打开。当两个面板之间没有空隙时,缩放器和折叠开关随之消失。面板打开和折叠状态下,缩放器的宽度可以分别指定为不同的值。上例的效果图如下:


 




 

转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/03/2997376.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘到了一个不错的TF卡读卡器

最近换手机的时候一时冲动败了个32G的TF卡。买后又觉得手机存储空间还比较充裕&#xff0c;暂时用不上&#xff0c;便打算套个读卡器当U盘用。最开始我用的是以前买手机的时候送的一个读卡器&#xff0c;但其兼容性很差&#xff0c;在以前的那个8G的卡里还能勉强用用&#xff0…

剑指offer--斐波那契数列

记录来自《剑指offer》的算法题。 题目如下&#xff1a; 写一个函数&#xff0c;输入n&#xff0c;实现斐波那契数列的第n项。 斐波那契数列的定义如下&#xff1a; f(n)⎧⎩⎨01f(n−1)f(n−2)n0n1n>1f(n) = \begin{cases} 0 & n=0 \\ 1 & n=1 \\ f(n-1) + f(n-2…

java jdbc6_Java学习-JDBC

JDBC1、数据库驱动应用程序通过驱动连接到数据库&#xff0c;进而操作数据库。2、JDBC简化开发人员对数据库的操作&#xff0c;提供了一个java操作数据库的规范&#xff0c;俗称JDBC对于程序猿&#xff0c;只需要学习JDBC提供的接口。java.sqljavax.sqlpublic class DemoJdbc01…

Unity3D For Android 开发教程【转http://game.ceeger.com/Unity/Doc/2011/Unity3D_For_Android.html】...

Unity3D For Android 开发教程 Date:2011-08-01 04:33我自认为抵挡诱惑的能力还是很强大的&#xff0c;关键的时候还能把持住自己。今天逛了一下南京的丹凤街&#xff0c;终于受不住Android这美眉的诱惑。她虽脸蛋不怎么滴&#xff0c;但身材火热&#xff0c;且性感&#xff0c…

剑指offer--二进制中1的个数

记录来自《剑指offer》上的算法题。 题目如下&#xff1a; 请实现一个函数&#xff0c;输入一个整数&#xff0c;输出该数二进制表示中1的个数。例如把9表示成二进制是1001&#xff0c;有两位是1&#xff0c;因此如果输入9&#xff0c;函数输出是2。 这道题目的一个基本思路是…

CentOS 6.4 编译安装 gcc-4.8.0

1.首先下载源代码 wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz22.解压 tar -jxvf gcc-4.8.0.tar.bz23.下载编译所需的依赖项 cd gcc-4.8.0  ./contrib/download_prerequisites  cd ..4.建立编译输出目录 mkdir gcc-build-4.8.05.进入此目录&#xff0c;执…

剑指offer--数值的整数次方

记录来自《剑指offer》上的算法题。 题目描述&#xff1a; 实现函数 double Power(double base, int exponent), 求 base的 exponent次方。不得使用库函数&#xff0c;同时不需要考虑大数问题。 下面是一种解法&#xff1a; // 判断num1是否等于num2 bool equal(double num1,…

jackson java网络接口_java~jackson实现接口的反序列化

jackson是springboot中集成的序列化方式&#xff0c;是默认的json序列化方式&#xff0c;当然你可以使用其它的序列化工具代替它&#xff0c;不过今天我们还是说一下它&#xff0c;使用jackson进行序列化一个类&#xff0c;然后再把它的JSON字符反序列化为它的接口对象。现实这…

剑指offer--打印1到最大的n位数

记录来自《剑指offer》上的算法题。 题目如下&#xff1a; 输入数字n&#xff0c;按顺序打印出从1到最大的n位十进制数。比如输入3&#xff0c;则打印出1&#xff0c;2&#xff0c;3一直到最大的3位数即999。 第一种解法是比较容易想到&#xff0c;但是遇到大数问题的时候会有…

java判断闰年通过多态方法_04748《Java语言程序设计》实验指导书.doc

04748《Java语言程序设计》实验指导书.docJava语言程序设计实验指导书前言一、上机实验目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力&#xff0c;通过实践环节理解 Java语言的基本结构和程序设计方法。通过亲手编程掌握 Java 程序设计编程的方法。二、实…

利用宏定义在编译阶段检查结构体大小的方法

http://blog.csdn.net/crazycoder8848/article/details/8292770 typedef struct {char a[100]; } T_XXX;typedef struct {char a[99]; } T_QQQ;/* 检测结构体的大小是否等于特定值 */ #define SIZE_OF_TYPE_EQUAL_TO(type, size) \ static inline char size_of_##type##_eq…

剑指offer--在O(1)时间内删除链表结点

记录来自《剑指offer》上的算法题。 题目如下&#xff1a; 给定单向链表的头指针和一个结点指针&#xff0c;定义一个函数在O(1)时间删除该结点。 结点定义如下&#xff1a; struct ListNode{int m_nValue;ListNode* m_pNext; }; 最常规的删除链表结点方法是从头结点开始遍历…

Designer设计无代码工作流

1. 打开Designer&#xff0c;选择工作流&#xff0c;选择列表工作流&#xff0c;选择你要将此工作流应用的列表&#xff08;这里我选择报销单&#xff09;。 填写好工作流名称&#xff0c;点击确定。 现在我们开始正式设计工作流&#xff0c;首先我们拉一个记录历史到工作流中&…