惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News | PayPal Newsroom
S
Security Affairs
T
Tor Project blog
P
Proofpoint News Feed
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Help Net Security
Help Net Security
U
Unit 42
云风的 BLOG
云风的 BLOG
The Hacker News
The Hacker News
Cisco Talos Blog
Cisco Talos Blog
量子位
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
有赞技术团队
有赞技术团队
T
Troy Hunt's Blog
P
Privacy & Cybersecurity Law Blog
Forbes - Security
Forbes - Security
人人都是产品经理
人人都是产品经理
L
Lohrmann on Cybersecurity
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
腾讯CDC
AI
AI
Last Week in AI
Last Week in AI
Latest news
Latest news
Google Online Security Blog
Google Online Security Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
Martin Fowler
Martin Fowler
Blog — PlanetScale
Blog — PlanetScale
V2EX - 技术
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 珠海小肥Q

jQuery load()方法用法集锦! 异步无阻塞加载JS 【转载】jQuery的性能规则 HTML结构 记录下 【转载】开发杀手级企业应用10规则 治近视的秘方!1000度近视降到只有200度,不知道有没有用,试试(转) 欢迎需求变动,拥抱变化 (转) 睡觉的诀窍(转) 警惕“29岁现象” (转) 遇到强势客户,如何开展需求工作 (转) 企业管理软件平台架构内幕揭秘 (转) Silverlight 2 Beta 1学习资源(转) 网络上看到的对UE的总结 新瓶旧酒ASP.NET AJAX系列文章索引(转) EXT核心API详解(转) JavaScript的世界从来没有像现在这样精彩(转) 存储过程编写经验和优化措施(转) 数据库优化设计方案(转) 做杀猪软件如何做成明星CIO?(转)
国人开发的 Jquery UI -- MiniUI
珠海小肥Q · 2012-03-31 · via 博客园 - 珠海小肥Q

今日在一网上闲逛,寻找一个比较好的Jquery UI,看到这个。特来介绍给大家。

Jquery MiniUI

官网网址:http://www.miniui.com/index.html

示例代码:http://www.miniui.com/demo/index.html

API手册:http://www.miniui.com/docs/api/index.html

开发指南:http://www.miniui.com/docs/tutorial/index.html

MiniUI系统架构

跨平台展现层控件

MiniUI是一套Javascript实现的控件库,包含表单、表格、树形、布局、导航等系列控件,满足一体化WEB界面开发的功能需要。

它处于WEB客户端,为客户端使用者提供丰富的功能操作和强大控件。

支持JSP、ASP.NET、PHP、ASP、ColdFusion、Ruby on Rails等WEB开发平台。

支持IE6+、FireFox、Chrome、Safari、Opera等浏览器。

模块化设计

MiniUI是基于模块化思想设计开发的。

一个单独的控件就是一个独立的功能模块,控件与控件之间实现松耦合,互不影响。

比如开发者可以单独使用datagrid、menu、tree等控件,而不用额外加载其他控件,减少javascipt代码量加载,优化生成效率。

Note:MiniUI默认包含了所有控件,压缩后,js体积不超过200k。开发者也可以视开发需要,只加载使用的控件,不加载额外控件。

继承体系

MiniUI控件是基于"面向对象"思想开发的,控件之间能实现继承体系,减少重复代码的出现。

mini.Control是控件基类,实现了id、style、cls、width、height、enabled等属性,以及render方法。

其他控件都基于mini.Control继承并扩展而来,从而获得尺寸、样式外观和渲染呈现的能力。

MiniUI的继承树非常简单,尽量避免复杂的继承关系。任何控件,向上追溯1~3个父类,就可以找到mini.Control。

控件分类

任何一个控件都有属于自己的功能价值,这也是它为什么设计开发的原因。

MiniUI将控件分为如下五个大类:

  • 表单控件:实现输入框、单选、多选等功能。
  • 数据表格:实现列表数据显示、操作等功能。
  • 树形控件:实现树形数据显示、操作等功能。
  • 布局控件:实现整体、局部界面特殊方式布局显示等功能。
  • 导航控件:实现界面分类、数据导航显示等功能。

每一个控件分类都由一个以上控件组成,以实现更细化、更具体的功能。

表格和树形控件是两个特殊的分类,它们都是高级而复杂的控件,实现了复杂而丰富的功能。

创建和使用控件对象

如何创建和使用MiniUI控件对象。

首先,使用 "new" 关键字来创建一个控件实例:

var button = new mini.Button();

MiniUI的所有控件,都是"mini."开头,再加上控件名称。比如"mini.DataGrid"、"mini.ComboBox"等。

然后,设置属性,并监听处理事件:

button.setText("Hello");            //设置属性
button.on("click", onHelloClick);   //监听处理事件

最后,需要将控件对象呈现到页面内:

button.render(document.body);

HTML标签化方式创建对象

MiniUI提供了另外一种更简单的方式来创建和使用控件对象。代码如下:

<input id="helloBtn" class="mini-button" text="Hello" onclick="onHelloClick"/>

解释如下:

  1. class="mini-button":表示此标签是mini.Button控件对象。
  2. text="Hello":设置对象属性。
  3. onclick="onHelloClick":监听处理事件

Note:HTML的位置就是控件对象呈现的地方。不需要另外使用render方法将控件渲染呈现到DOM元素内。

MiniUI的所有示例都是用HTML标签化方式编写的。

使用HTML方式创建对象,减少80%的Javascript代码量,更易写、易读、易维护。

只有一些事件处理函数,才需要另外写Javascript方法。

与第三方控件集成

MiniUI非常注重与第三方控件的集成问题。因为控件的功能是有限的,而软件开发的需求是无限的。

第三方控件有两种形式:

  1. Javascript控件:比如jQuery、YUI、Dojo、ExtJS等。
  2. 插件控件:比如Flash图表、Silverlight工作流引擎等。

MiniUI的所有控件,有一个获得控件DOM元素的方法:

var button = mini.get("helloBtn");
var el = button.getEl();

开发者获得控件的DOM元素后,可以appendChild等方法,将其移动到任何DOM元素内。

如果开发者想将一个Flash图表对象,设置到mini.Panel面板内,可以这样操作:

var swfChart = document.getElementById("swfChart"); //获得Flash图表DOM元素
var pbodyEl = panel.getBodyEl();                    //获得Panel的bodyEl
pbodyEl.appendChild(swfChart);                      //将Flash图表DOM元素,加入到Panel内

Note:通过暴露控件DOM元素对象的方法,开发者可以将MiniUI与任何第三方控件轻松集成。