一个简短的yahoo YUI介绍

摘要:
YUI 是 Yahoo! User Interface 的缩写,这是由 Yahoo! 所开发出来的工具库,包含了多种程式工具、函数库和网页操作介面,能够更快速的开发互动性高、丰富的网站应用程式,尤其是那些使用到 DOM、DHTML 和 Ajax 的网页。YUI 全部都是使用 Javascript 写出来的(其中也包含了一些 CSS ),而且是公开给大家免费使用的 Open Source 软体。為什麼要使用 YUI ?目前 YUI 仍在持续发展的阶段,最新的版本是 2.0x,在YUI 的官方网站可

YUI 是 Yahoo! User Interface 的缩写,这是由 Yahoo! 所开发出来的工具库,包含了多种程式工具、函数库和网页操作介面,能够更快速的开发互动性高、丰富的网站应用程式,尤其是那些使用到 DOM、DHTML 和 Ajax 的网页。YUI 全部都是使用 Javascript 写出来的(其中也包含了一些 CSS ),而且是公开给大家免费使用的 Open Source 软体。
為什麼要使用 YUI ?

目前 YUI 仍在持续发展的阶段,最新的版本是 2.0x,在YUI 的官方网站可 以下载全部的套件,也有详细的说明档案。目前看到 YUI 的相关资源几乎都是英文的.

YUI 很重要的功能之一就是帮助减少不同瀏览器之间的差异性,让你只要使用一种写法就能通吃所有瀏览器,也能降低 IE 狂吃记忆体的当机问题。
因此 YUI 实在是不可或缺的啊!在日后教大家的范例裡面,也会大量使用到 YUI 的。
YUI 的家族成员

YUI 包含的东西很多,可以先粗分為三大部份:工具函数库、CSS 工具以及操作介面库。其中各大项裡面的内容简单介绍如下:
工具函数库(YUI Library Utilities):

The YAHOO Global Object : 这是 YUI 的核心物件,每个使用到 YUI 的页面都必须先载入这个物件。它主要的用途是,提供所有 YUI 裡的程式有共同单一的命名空间( namespace ),以及一些共用的物件方法(method)。

Event Utility : 事件工具,帮忙处理网页中发生的事件,例如滑鼠按下、滑鼠经过、表单送出… 等等都属于事件。它也提供了监听事件和自订事件的功能。

DOM Collection : DOM 工具,当你要透过 DOM 来动态更改网页中的元素时,尤其是对于动态变化 CSS 样式和避免不同瀏览器之间的差异性,这个工具会十分的有用。

Connection Manager : 连线管理程式,要使用 Ajax 就一定会用到的啦!这个工具大幅简化了 XMLHttpRequest 物件的使用方式。

Drag and Drop Utility : 拖曳工具,想要在网页中製作出可以用滑鼠拖曳的操作介面吗?就是它啦!还没试过新版的 Yahoo! 信箱吗?像 Outlook 一样可以拖拉放哦!

Animation Utility : 动画工具,想让网页增添动画效果,但又不要依靠 Flash 吗?这个工具就是专门来製作移动、缩放、Alpha ( 淡入淡出 ) 等动画效果用的。从今以后光靠 DHTML 製作动画就简单多囉!

 

CSS 工具(YUI Library CSS Tools):

CSS Page Grids : 网页版面工具,你是否常常為使用 CSS 切割版面而头痛呢?有了这个工具之后,不论是两栏、三栏或多栏的版面都不用担心了!

CSS Fonts : 字体工具,替不同的瀏览器统一了字体、间距等样式,用来避免不同瀏览器之间的差异性。

CSS Reset : 这也是用来统一不同瀏览器之间的差异性,但是针对所有的网页元素样式。

 

操作介面库(YUI Library Controls):

AutoComplete : 自动完成。

Calendar : 月历。

Container : 容器?包含了模组、重叠的图层、面板、工具提示、对话框以及简易对话框等,设计应用程式时会使用到的使用者介面。

Logger : 提供了很简单的方式在程式码中读写讯息,非常方便除错使用。别再用笨笨的 alert 啦!

Menu : 选单。不论是普通的选单、弹出式选单、滑鼠右键选单,都可以很容易做到。

Slider : 可以拉动的滑桿,例如部落格设定裡面,调整透明度时的滑桿,就是用这个做的。

TreeView : 树状选单。想製作和档案总管一样的树状选单吗?或是可以多层展开选单,这裡已经提供了现成的物件给你使用了!

 

去YUI 的官方网站看看?

CSS 基础 (CSS Tools) 虽说 CSS 很容易上手,但当你玩到深的时候,就会发现有很多的问题,这点由 Yahoo! 有人专门在写 CSS 的架构就可以看出来。你可以把 YUI 提供的视為一个网页所必需的基础:帮你解决掉每个瀏览器预设样式的不同、字型大小的问题,甚至复杂的排版解决方案。笔者强烈建议要好好学这套工具(可以参考下面的联结),并且嵌入在每一个网页当成基础喔!

JavaScript 核心 (Core) 若问我 JavaScript 中最常用的功能是什麼?我的答案会是事件处理、DOM 物件取得及设定,及瀏览器侦测莫属了! 而这些基本功能在不同的瀏览器却有不同的做法,实在另人头大,因為不管写到什麼都要去解决跨瀏览器的问题,会让程式码备增! YUI 知道开发者的痛苦,也為了自己其它功能的开发,把这些核心功能包装得好用又强大。
记得在使用 YUI 的任何功能,都一定要包含核心的 yahoo, event, 与 dom 的函式库喔!

Javascript 工具组 (Utilities) 除了核心的功能外,进阶的开发者会写动画特效、拖拉、或者是 AJAX 等的功能。 YUI 把这些功能包装地就像瑞士刀一样,既轻巧又好用。
值得一提的,大家所关注用 CSS 及 XPath 语法取得 DOM 物件的方式也在 Select 工具组实作出来,喜欢用 jQuery 的可以考虑跳槽了 :-D。

Javascript 控制项 (Controls/Widgets) 控制项跟工具组不同的地方在于,它本身会有一个介面,而 YUI 工具组则没有、只有功能性。 像是你在 Yahoo! 打字搜寻时会有的搜寻建议以及中间的页籤组 ,还有常见的 HTML 编辑器皆属于此一范畴。
从 2.4.0 开始,YUI 更提供了图表控制项,利用相同的 JavaScript,可以轻鬆地產出用 Flash 做成的图表,这样的混合真是太讚了!


免责声明:文章转载自《一个简短的yahoo YUI介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用C#打造"QQ对战平台挤房器"Android2.3.7源码结构分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

VMP加壳(二):VMP的虚拟化原理

由于CPU只能识别和执行二进制文件,并直接让硬件CPU执行虚拟机的二进制代码,因此只能考虑通过纯软件模拟虚拟机执行代码指令。为了在软件级别模拟CPU执行二进制代码指令,一般的虚拟机指令要么是操作寄存器,虚拟机指令的处理程序必须模拟这些函数。它用于指示虚拟CPU当前执行的代码。为了满足上述要点,2。VMP虚拟机的执行过程(1)考虑启动VT。...

vsCode mongoDB插件 Azure Cosmos DB

安装完成后,要重启下vsCode会看到然后点击绿色的小按钮,选择MongoDB再输入MongoDB的连接地址。当然要先把本地的mongoDB数据库打开,cmd黑窗口输入mongod--dbpathxxxx打开本地数据库输入完成地址后,回车就可以连接到自己的MongoDB数据库了...

怎么使用vscode合并分支

1.切换分支到本地开发2.代码完成后提交代码到本地仓库3.切换分支到需要merge的test分支先pull一下,之后再合并分支—我开发的是这个feature,就合并这个分支4.当合并分支后,需要重新提交到远程:点击一下,直接提交...

用arduino做一个智能垃圾桶

这些天我几乎很忙。我有一些时间继续打扰我的arduino。上一次我从TB购买arduino套件时,有一个人体热能感应模块,用于感应人体接近信号。今天我们用这个做一个简单的智能垃圾桶。要实现的功能是:当有人靠近时,垃圾可以自动打开盖子,当人离开时,盖子可以自动关闭。1、 所需材料和工具:1 Arduino SCM我使用Arduino Nano 2人体热能传感模...

关于WINFORM中输入法的设置

关于WINFORM(转移到)John Suna的专栏开发中输入方法的设置,它碰巧遇到了这种问题。网络真的很好:)这是文本集。感谢作者的辛勤工作给您带来的便利。在WINFORM中,我们经常遇到这样的问题:文本输入框中的输入法被禁用或总是更改为全宽输入法。查阅相关数据后,总结如下:(1)Control.ImeMode属性:获取或设置控件的输入方法编辑器模式。此模...

flutter vscode+第三方安卓模拟器

1.首先打开夜曲模拟器2.Win+R,选择cmd,在第三方模拟器安装目录的bin目录下输入夜曲模拟器,然后运行命令:nox_Adb.execonnect127.0.0.1:620013。打开项目终端的vscode并建立连接:adbconnect127.00.1:62001(夜神模拟器的默认端口)4。查看连接:adbdevices或不使用第三方模拟器:1.打开...