说说jQuery UI 1.8的组件体系特点

简介:

jQuery以其良好的api设计在前端开发中造成了极大的影响力,他们的“write less do more”这个宗旨得到了充分的体现,但是他的UI库又是一个怎么样的体系结构呢,他们的UI库的api设计的怎么样呢?

我还是通过一段伪代码,来演示下如何来写一个jQuery UI组件:

 

(function($) { //私有变量和方法 这里是代码 $.widget("ui.dialog", {//组件名称 //共有方法和属性,定义在prototype上 options: {//配置属性 }, _create: function() { //dom操作 //绑定事件 }, //执行默认的动作 _init: function() { if ( this.options.autoOpen ) { this.open(); } }, //销毁组件 destroy: function() { }, //返回生成组件的dom元素 widget: function() { return this.uiDialog; }, //设置和获取配置项 option: function(key, value){ $.Widget.prototype._setOption.apply(self, arguments); } } }); $.extend($.ui.dialog, { //类属性和方法 }); }(jQuery)); 如果用到继承 $.widget($.ui.Simpledialog, $.ui.dialog ,{ //共有属性和方法在这里定义 })

这里我们可以看到只要调用$.widget(String name, Options prototype).,就可以生成一个jQuery UI的组件,那么这个方法帮我们做了什么工作呢?

1.       如果仅仅生成一个独立的组件,我们直接调用$.widget(String name, Options prototype),其中第一个方法就是组件的名称,第一个参数就是组件的一些共有属性和方法。

2.       如果需要用到继承,我们就用$.widget(String name, String baseName,Options prototype),这个的第二个参数就是基类的名称了。

3.       $.widget向我们提供了create方法来生成dom和绑定事件,_init方法来执行一些默认的动作,_setOption来设置一个配置属性项,widget用来获取生成组件的外层dom元素,destroy用来销毁组件,option()用来获取和设置配置项,我们可以再自己写的组件中覆盖这些方法。

 

使用dialog控件:

 

 

$('#dialog').dialog({ autoOpen: false, show: 'blind', hide: 'explode' }); 初始化后设置配置项: $( ".selector" ).dialog( "option", "autoOpen", false ); 获取配置项: $( ".selector" ).dialog( { autoOpen: false } ); 初始化后绑定事件: $( ".selector" ).bind( "dialogopen", function(event, ui) {}); 初始化后调用方法: $( ".selector" ).dialog( "open" )   

 

 

 

Ok,现在为止我们已经会开发和使用用jQuery UI1.8开发的dialog,我们来总结下jQueryUI1.8库的一些特点:

1.       API的使用上仍然秉承了jQuery核心库的特点,获取和设置属性使用同一个方法。

2.       $.widget没有为控件绑定事件的接口,必须自己手工在create中进行绑定。

3.       jqueryUI有着强大的自定制组件的功能,我们很方便你的自定义的自己的样式的组件,具体请看(http://jqueryui.com/themeroller/

 

虽然JQueryUI1.8有很优秀的地方,但是由于它的组件都是第三方贡献的,代码的可维护性较差,也没有代码的管理结构,性能方面也比较牵强,因此组织大型的RIA应用的时候,如果您不是一个JavaScript ninja,您还是不要使用这个ui框架了,总之它的ui库还是比较年轻。但是可以使用jQuery核心库,核心库还是很风光的,欢迎大家看这边文章http://news.csdn.net/a/20100327/217617.html

 

 

 

目录
相关文章
|
1月前
|
缓存 搜索推荐 索引
「Mac畅玩鸿蒙与硬件12」鸿蒙UI组件篇2 - Image组件的使用
在鸿蒙应用开发中,Image 组件用于加载和显示图片资源,并提供多种属性来控制图片的显示效果和适配方式。本篇将带你学习如何在鸿蒙应用中加载本地和远程图片、设置图片样式以及实现简单的图片轮播功能。
100 7
「Mac畅玩鸿蒙与硬件12」鸿蒙UI组件篇2 - Image组件的使用
|
24天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
19天前
|
前端开发 搜索推荐 开发者
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas 组件自定义绘图
Canvas 组件在鸿蒙应用中用于绘制自定义图形,提供丰富的绘制功能和灵活的定制能力。通过 Canvas,可以创建矩形、圆形、路径、文本等基础图形,为鸿蒙应用增添个性化的视觉效果。本篇将介绍 Canvas 组件的基础操作,涵盖绘制矩形、圆形、路径和文本的实例。
58 12
「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas 组件自定义绘图
|
19天前
|
搜索推荐 前端开发 开发者
「Mac畅玩鸿蒙与硬件19」鸿蒙UI组件篇9 - 自定义动画实现
自定义动画让开发者可以设计更加个性化和复杂的动画效果,适合表现独特的界面元素。鸿蒙提供了丰富的工具,支持通过自定义路径和时间控制来创建复杂的动画运动。本篇将带你学习如何通过自定义动画实现更多样化的效果。
68 11
「Mac畅玩鸿蒙与硬件19」鸿蒙UI组件篇9 - 自定义动画实现
|
19天前
|
UED 开发者
「Mac畅玩鸿蒙与硬件18」鸿蒙UI组件篇8 - 高级动画效果与缓动控制
高级动画可以显著提升用户体验,为应用界面带来更流畅的视觉效果。本篇将深入介绍鸿蒙框架的高级动画,包括弹性动画、透明度渐变和旋转缩放组合动画等示例。
58 12
「Mac畅玩鸿蒙与硬件18」鸿蒙UI组件篇8 - 高级动画效果与缓动控制
|
15天前
|
UED
「Mac畅玩鸿蒙与硬件31」UI互动应用篇8 - 自定义评分星级组件
本篇将带你实现一个自定义评分星级组件,用户可以通过点击星星进行评分,并实时显示评分结果。为了让界面更具吸引力,我们还将添加一只小猫图片作为评分的背景装饰。
54 6
「Mac畅玩鸿蒙与硬件31」UI互动应用篇8 - 自定义评分星级组件
|
19天前
|
UED
「Mac畅玩鸿蒙与硬件17」鸿蒙UI组件篇7 - Animation 组件基础
在应用开发中,动画效果可以增强用户体验。鸿蒙框架提供了 translate、scale 和 rotate 等动画功能,允许对组件进行平移、缩放和旋转等操作。本篇将介绍 Animation 组件的基础知识和示例代码。
70 10
「Mac畅玩鸿蒙与硬件17」鸿蒙UI组件篇7 - Animation 组件基础
|
17天前
|
前端开发 开发者
「Mac畅玩鸿蒙与硬件21」鸿蒙UI组件篇11 - Canvas 组件的静态进阶应用
在鸿蒙应用开发中,Canvas 组件不仅用于基础绘图,还提供了处理复杂路径和渐变效果的多种手段,帮助开发者实现精美的静态图形。本篇将介绍如何在 Canvas 中绘制复杂路径、创建渐变填充效果。
43 7
「Mac畅玩鸿蒙与硬件21」鸿蒙UI组件篇11 - Canvas 组件的静态进阶应用
|
19天前
|
大数据 UED
「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List 和 Grid 组件展示数据列表
List 和 Grid 是鸿蒙开发中的核心组件,用于展示动态数据。List 适合展示垂直或水平排列的数据列表,而 Grid 则适用于展示商品或图片的网格布局。本篇将展示如何封装组件,并通过按钮实现布局切换,提升界面的灵活性和用户体验。
56 9
「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List 和 Grid 组件展示数据列表
|
17天前
|
前端开发 开发者
「Mac畅玩鸿蒙与硬件22」鸿蒙UI组件篇12 - Canvas 组件的动态进阶应用
在鸿蒙应用中,Canvas 组件可以实现丰富的动态效果,适合用于动画和实时更新的场景。本篇将介绍如何在 Canvas 中实现动画循环、动态进度条、旋转和缩放动画,以及性能优化策略。
41 6
「Mac畅玩鸿蒙与硬件22」鸿蒙UI组件篇12 - Canvas 组件的动态进阶应用