jQuery 入门教程(20): jQuery UI 基本工作过程

本篇介绍JQuery UI组件的基本工作过程,以进程条(Progressbar)为例介绍JQuery UI组件工作的基本过程。

初始化

大部分JQuery Ui组件都可以保持其状态,因此为了能够跟踪UI组件的状态,jQuery UI组件也有一个生命周期,这个生命周期从初始化开始,为了初始化一个UI组件,一般在某个HTML元素调用UI组件(插件)方法。,比如

1 $("#elem").progressbar();

这个方法初始化id=elem的元素,因为我们调用progressbar没有带参数,因此将使用缺省属性来初始化进程条。我们可以通过传入配置的方法为jQuery UI组件修改缺省值。比如:

1 $("#elem").progressbar({ value: 20 });

也可以一次传入多个参数来初始化jQuery UI组件,其它没有配置的属性还是使用其缺省值。这些属性也属于jQuery UI组件状态的一部分。初始化之后,如果需要修改这些属性,可以通过option方法来改变。

方法

初始化jQuery UI组件之后,我们可以查询UI组件的状态属性,每个初始化过的UI组件都可以调用其方法,调用方法是通过传入方法名称,比如, 调用进程条的value方法如下:

1 $("#elem").progressbar("value");

如果这个方法可以有参数,直接在方法名之后传入参数,比如,设置value值为40

1 $("#elem").progressbar("value", 40 );

和前面介绍的jQuery 方法链一样,jQuery UI的方法也支持多个方法串接在一起,比如:

1 $("#elem")
2 .progressbar("value", 90 )
3 .addClass("almost-done");

通用方法

对于大多数jQuery UI组件来说,有些方法是都支持的,比如:
option方法
正如前面说的,在UI组件初始化之后,如果需要修改一些属性值,可以通过option方法,比如,修改progressbar的value值,

1 $("#elem").progressbar("option","value", 30 );

注意这和前面调用value方法不同,这个例子是想修改配置项value为30.
如果需要取得某个配置项的值,则使用不带参数的调用:如:

1 $("#elem").progressbar("option","value");

除此之外,如果需要一次修改多个配置项,可以通过传入对象的方法,如:

1 $("#elem").progressbar("option", {
2 value: 100,
3 disabled:true
4 });

diable方法
这个方法disable某个UI组件,比如:

1 $("#elem").progressbar("disable");

这个方法disable进程条,并修改其Style使其看起来无效。这个方法等同于设置的disable属性为true.

enable方法
enable UI 组件,比如:

1 $("#elem").progressbar("enable");

这个方法等同于设置disable属性为false.

destroy方法
如果你不在需要某个UI组件,可以调用destroy()方法,这将使的对应的HTML元素恢复原状(没有使用jQuery之前的标记显示)。这也终结jQuery UI的生命周期。一旦你终止UI组件,你就不能再调用UI组件的方法。如果你删除该HTML元素,jQuery自动终止。

widget方法

某些UI组件创建一个wrapper元素或者和原先元素无关联的新元素。在这种情况下,widget方法返回生成的新元素。对于Progressbar来说,没有生成的HTML元素,这个方法返回原先的HTML元素。

1 $("#elem").progressbar("widget");

事件

所有UI组件都具有事件来通知其状态发生变化。对于大部分UI组件来说,某个事件发生时,事件名以UI组件名为前缀。比如当Progressbar值发生变化时绑定一个事件处理方法:

1 $("#elem").bind("progressbarchange",function() {
2 alert("The value has changed!");
3 });

每个事件都有对应的回调函数,是作为一个配置项来定义的,因此我们可以直接挂到Progressbar的change回调函数而不要绑定到Progressbarchange事件,比如:

1 $("#elem").progressbar({
2 change:function() {
3 alert("The value has changed!");
4 }
5 });

共有事件

虽然每个UI组件支持的事件不同,但create事件是每个UI组件都支持的,这个事件在UI组件创建好后立即触发。

jQuery UI标准后台页面演示系统说明 系统的设计目的 我做B/S软件开发,基本上还是采用原型法的--嗯,好吧,可能原型法还是往自己脸上贴金了。俗一点说吧,就是和客户定一个尽可能详细的功能描述文档,然后按文档写完程序,再回交给客户演示,客户观看演示后会提出很多意见,再按这些意见修改,然后再演示,如此循环往复,直至交稿。与最初的演示稿相比,最后的完成稿出入很大,大量的工作,其实都是浪费的。我就想,能不能以后先做一个快速生成的演示系统,用户确认后再真正制作程序呢?于是就有了这个演示系统的产生。 作为系统的第一个版本,这个系统功能比较简单。我之前的设想,是用zend framework框架设计一个接近CMS功能的后台,统一用户管理、文章发布等常用功能,但这么一来,系统的适用范围就小了。所以,先做一套极简易的小架构,即使没有学过PHP的.net/java程序员,应该也能很容易看懂并上手使用,甚至把它改成其它语言的版本。 目前的这个版本,最值得推荐的功能在于,jQuery代码是一次载入的,使用这套系统进行开发,程序员可以完全不懂jQuery,而仍能享用jQuery的种种便利。 0.1版系统特点介绍 • 集成了jQuery UI的风琴盒、页标签特效、ajaxForm表单递交和validate表单验证功能,无需程序员学习这些功能,按常规方式编程即可自动调用。 • 保持了与jqueryui的完全兼容,可以自行前往www.jqueryui.com网站下载更多酷炫界面风格,甚至自定义风格 • 涉及的PHP代码极少且足够建议,非PHP程序员也能使用 • 对系统要求非常低,只要普通PHP程序能够运行即可 系统实际使用步骤 1. 复制(解压)文件夹到网站测试文档根目录(apache系统下一般是htdocs),即可直接访问 2. 修改config.php文件中的数组,即可快速生成界面结构 3. config.php中的$tabs数组就是页面标签内容,其中的url可自行指定或新建文件,文件格式可以参照admin.php、helper.php等文件 4. 如果$tab中url指向的文件中需要包含表单,按常规写法即可,无需特殊代码即可自动以ajax方式递交 5. 如果表单需要ajax方式验证,可以给相应的表单项添加class,可参见systemsetting.php和address.php文件,也可自行网上搜索和阅读jquery.validate.js的帮助文档 6. 演示中的项目,只有核心系统下的后台首页和系统设置有效,其它都只是点缀
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值