发新话题
打印

Yahoo YUI的Ajax工具包

Yahoo YUI的Ajax工具包

引用:
YUI简介

雅虎前不久推出了称为YUI的Ajax工具包,同时Yahoo发表了一系列的Ajax设计模式. Yahoo的这些工具包是Yahoo在收购了多个Web2.0网站后推出的Ajax工具包,代码的注释也写的很好,文档也很丰富和详尽。

YUI的组件也在不断的增加中,yahoo为YUI设了一个Yahoo用户组,里面的邮件很活跃,问的问题基本都有人回答,而且比较细致和具体。

YUI分为两个大类,一个是Ajax组件,里面包括对底层javascript包装后的几个工具包,分别是connection,event, dom,animation,dnd.还包括一组高级的javascript控件,目前包括AutoComplete,Calendar, Container,Menu,Slider,TreeView.

另一类是几个很有用的几个CSS文件,一个是CSS Page Grids,用它可以很方便的布局你的网页。另外两个是Standard CSS Fonts和Standard CSS Reset,利用这两个CSS可以对字体等在不同浏览器中获得一致的效果.

Yahoo的Ajax设计模式是在目前的WEB2.0网站中常用的一些改善用户体验,增强交互效果的文章,格式和Design Pattern类似.有时会提供一些例子网站或网页,当然都是yahoo自己的几个网站,上面的javascript可能还没有整理到YUI里面去,但是也都是格式化很好的javascript,也没有混淆.

YUI Utilities(Connection Manager)

Yahoo的javascript文件都有一个注释的很好的,格式化很好的版本和一个去掉注释和空格的版本,学习看源代码当然用前者,而最后在网页上使用的时候就可以选用后者。

1. Connection Manager
这个工具包用来管理XMLHttpRequest,通过这个工具包可以查询正在执行的请求的状态,可以注册正确返回的回调函数,错误处理的回调函数,还可以根据提供的表单Id方便的收集和发送表单字段。下面给出的代码是基本调用形式

var callback =
{
success: function(res) {/*success handler code*/}, //正常返回处理函数
failure: function(res) {/*failure handler code*/}, //出错返回处理函数
argument: [argument1, argument2, argument3] //可以在success函数和failure函数中访问的变量
}
var transaction = YAHOO.util.Connect.asyncRequest(’GET’, sUrl, callback, null);

下面的表给出的是通过正确返回时res参数可以获得的属性值。
我的博客
大家好才是真的好

TOP

引用:
公司项目要用到Yahoo UI,下午只好硬着头皮去学了,但是发现网上关于这方面的中文资料很少,可能各位高手都在写代码呢,所以我写这篇学习心得帮助下和我一样的新人,无意卖弄,如果写的不好还请各位见谅啊。Yahoo UI是什么我不多讲了,自己可以去baidu下。访问http://developer.yahoo.com/yui 上面可以下载Yahoo UI 2.2.0最新版。解压缩到硬盘上。根目录有3个文件夹build(开发用到的包)、docs(Yahoo UI API)、examples(例子),基本上文档还是相当齐全的,再加上http://developer.yahoo.com/yui 页面左侧的每一个控件导航说明,我们可以开始研究了。



看了这么多控件,无从下手,我决定先从calendar下手,这是一个日历,感觉上相对关联的类库应该少一些,比较简单。先看看examples里面的例子,好多啊,先来一个最简单的Quickstart Tutorial,查看下页面源代码,总体对Yahoo UI的使用有了一个大致的了解。
在你使用的UI控件的页面组成有3大块:
第一块导入依赖的JS文件和CSS文件;
第二块控件实现的JS代码;
第三块插入到当中的控件,实际就是。
OK!我们开始使用它吧,把开发需要用的包全部放到项目中去,我是把build文件整个copy过来了,你可以根据自己的需要选择,但是基本上都会用到 yahoo、event、dom这3个包。在自己的项目中新建一个页面,htm、jsp、asp等等什么都可以了,我是用jsp的。
第一块在内插入:


<script>"text/javascript" src="build/yahoo/yahoo.js"></script>
<script>"text/javascript" src="build/event/event.js"></script>
<script>"text/javascript" src="build/dom/dom.js"></script>
<script>"text/javascript" src="build/calendar/calendar.js"></script>
<link type="text/css" rel="stylesheet" href="build/calendar/assets/calendar.css" />

这段代码大家应该很好理解了,注意src后面的路径要写正确,不然就看不到显示效果了。
第二块写实现控件的JS代码了:


<script>
YAHOO.namespace("example.calendar");
function init() {
YAHOO.example.calendar.cal = new YAHOO.widget.Calendar("cal","caler");
YAHOO.example.calendar.cal.render();
}
YAHOO.util.Event.addListener(window, "load", init);
</script>


这几行代码都要写,因为要依赖的,具体函数实现我没有去研究,但是可以看到参数,我们基本可以理解了YAHOO这个对象应该是个全局的对象(本人JS没学过,不知道这个术语对不对),namespace()定义一个名称空间,这句话去掉浏览器就会报错说找不到YAHOO.example.calendar,那我们就暂且理解为namespace()可以初始化YAHOO的上下文了。接下来就开始new一个Calendar对象了,注意第二个参数,我们在div的时候会用到。最后加入了一个load窗口的事件,OK,这个流程基本清楚了。
第三块,在里面写一个div,注意id属性就是初始化Calendar对象的第二个参数。



把小猫跑起来吧,看看,是不是出现了一个简单的日历了。Yahoo UI还提供了对Calendar的其他功能以及复杂的Calendar,但是由于我时间有限,我只能抛砖引玉了,希望大家自己去按照这个思路研究,不是很难的,注意:研究的时候多看看http://developer.yahoo.com/yui 页面左侧的每一个控件导航说明,虽然是E文,但是还是可以看懂的。我的目标是DataTable和TreeView。

好像Yui-ext现在和JQuery结合了,看样子有意思完全脱离Yui了
我的博客
大家好才是真的好

TOP

砂磨机

新人报道,前辈多多关照!!!支持!!呵呵















专业从事流体混合机 设备设计,制造的厂家.生产 砂磨机 的最新换代产品

TOP

西黄丸

提示: 作者被禁止或删除 内容自动屏蔽

TOP

无线网桥

你一般把手机放到什么地方?
现代人都离不开手机,记得大哥大的年代,经常看到人们夹在臂弯里,现在手机越来越小了,手机携带方式也发生了变化。有研究发现一个有趣的情况,男性习惯把手机放在裤兜里,而女性习惯把手机放在包包里,也有的人怕错过电话常把手机拿在手里....

  在家里、坐车时、在办公室、在户外你都习惯把手机放在什么地方呢?为什么会喜欢这样放?有没有发生过什么事影响你放手机的位置?你放手机的位置会带来什么好处或者坏处吗?来吧,不管是为了安全防盗,还是彰显个性,大家都分享一下自己的的带机心得吧。






















无线网桥 无线网络产品 无线宽带设备

TOP

冷干机制氮机呼吸机制氧机

礼品行业骗子太多了
      大家以后千万不要跟卖礼品的打交道,更不要买他们的东西,一毛钱的手表,他们敢以进口礼品的名义,卖上几千甚至上万元钱。我今天给客户买了一套邮票,18600,没想到客户从自己的柜子里拿出来了一套一模一样的邮票,然后仔细给我一对照之后,发现我买的礼品邮票竟然是假的!气死我了!眼现大了。我恨不得钻进耗子窟窿。单子没了,还白白花了一万多,而且还现了眼。明天找几个哥们去找他们,死活给个说法,而且还得赔偿我损失。





















提供性能稳定,有价格优势的冷干机.制氮机,ban证 呼吸机制氧机膨胀阀等核心部件均采用进口原件.人性化的控制界面

TOP