幸运的是,YUI提供的事件API比DOM API更为深入些并且包括了一些函数来实现大量的跨浏览器事件。它把API进一步规范化为基于更标准的addListener/removeListener函数。
总体来看,DOM和Event库已经实现了既定目标但是语法冗长;而相比之下,其它库仅用一半时间就可以完成类似功能。
四、 动画API
动画API是这个框架比较出色的地方之一。这种API的思想是定义一系列的from和to键状态,以及动画从开发到结束所需要的持续时间。
在这些属性中,你可能实现的动画包括:颜色转变,位置,大小和不透明。你可以使用很少的努力以一种类似于Dreamweaver JavaScript的方式创建迷人的显示效果。然而,这些API能力只有你精确了解你的动画在设计时刻的运动路径时才是真正有用的,因为期间所用的声明性语法使得很难在运行时刻更改动画路径。
五、 拖动
拖动支持一直是各种浏览器实现的差距之一。YUI为此做出了杰出的努力,它不仅消除了这种差距而且还增加了其它一些功能。
拖动API提供了大量的在其它免费的JavaScript库中很少的高级功能。使用YUI拖动元素进行终端用户体验是很灵活的。你可以指定哪些项可拖动以及哪些项是放置目标-以一种相对简单的但是有些冗长的方式。
我非常希望看到,在把拖动源与可能的放置目标相关联方面YUI能够提供类似于其它一些免费可用库提供的功能。在YUI中,你必须编写代码(文档中提供了一个例子)来指定放置目标(而在Script.aculo.us中你只需要简单地把组标签添加到你的目标上即可实现类似功能)。
六、 连接API
远程脚本已经出现多年了,但是只是当Google创建其Google maps时,它才使用AJAX技术操作互联网。这种技术当然是具有良好基础的,因为AJAX能够提供一种戏剧般的用户体验方面的改进。这种技术的结果导致了大量的库的产生-它们实现了到底层浏览器技术的一种"规范化"接口,这些接口支持你向服务器请求更多的数据而不需要刷新浏览器。
YUI提供了一组相当完整的远程脚本API。这包括提供一些能够进行远程调用以及进行成功或失败处理的API。如果你正在使用一种服务器端语言-它还没有提供一种客户端API来进行远程脚本编程,那么YUI将会是你的良好选择。
下面的示例代码展示了YUI连接库的相当简单的方面。
var handlers = {
success: success,
failure: failure }
function success(t)
{ alert('Yea, success'); }
function failure(t)
{ alert('Awww.'); }
YAHOO.util.Connect.asyncRequest('GET',
'http://mysite.com/Remote.aspx?GetPage=1',
handlers,null)
| 对此文章发表了评论 |
