`
fastwind
  • 浏览: 323805 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Yahoo! User Interface Library

阅读更多

Yahoo! User Interface Library(简称yui) 是一个使用Javascrīpt编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布,它们遵循BSD协议并且可以免费使用。可以从Sourceforge站点下载完整的项目文件,同时包含相关文档和示例。

yui项目开发人员的BLOG:YUI Blog,交流社区:ydn-javascrīpt on Yahoo! Groups。

准备工作:

1、 下载yui
最新版YUI下载地址:http://sourceforge.net/project/downloading.php?group_id=165715&filename=yui_2.3.1.zip
yui项目文件已经发布在Sourceforge站点,文件包含相关文档,示例和代码。

注:Yahoo没有为yui的运行提供免费的运行环境,你需要运行在你在即Web服务器上。

2、 在你的网页中加入你需要的类库文件

为了使用yui中的组件你必须在你的页面文件中用<scrīpt>指定相关组件的类库文件地址。如果该组件依赖于其他组件,你必须使用<scrīpt>指定所依赖的组件的类库文件地址。

3、 如果有必要,在页面中加入CSS文件

某些yui的控件包含一个相应的CSS文件,用来设定控件的样式。此时,你必须在页面中使用<style>指定相应的CSS文件的地址。你可以通过修改相应的CSS文件达到你想要的效果。

4、 浏览相关文档和示例

每一个组件都包含详细的API文档,并且提供了常用的例子。学习完后,回顾一下所有的API,做到心中有数。因为对于API理解的好坏将影响你对yui的使用效果。

组件介绍 Yui组件分成2类:工具包和控件库

Yui 工具包

Yui 工具包利用DOM脚本来简化浏览器内的开发(in-browser devolvement),使用DHTML和AJAX的特性开发所有的Web程序。

动画(Animation):在你的页面中通过指定位置,大小,透明度或者页面元素的其他特性来创建一个"电影效果(cinematic effects)"。这些效果将在你的页面发生变化的时候给用户更好的体验。

连接管理(Connection Manager):这个工具包帮助你管理XMLHttpRequest(一般被称为AJAX)事务,它提供对表单提交(form posts),错误捕获(error handling)和callbacks的全面支持。该工具包也支持文件的上传管理。

DOM:DOM工具包提供更简单的DOM脚本的功能调用方式,包含元素的位置和CSS样式的管理。

拖放(Drag and Drop):创建可拖放的对象。为了提供丰富的交互功能(比如拖动一个对象到目标位置)你可能需要编写很多代码。这个工具包可以在所有支持的浏览器中捕获所有的操作事务并保证其稳定地运行。

事件(Event):这个神奇的管理类库给你提供一种简单安全的方法访问浏览器的事件(比如点击和键盘操作)。这个事件封包中还包含了自定义事件对象,它为你的程序交互提供一种发布和订阅事件的机制。

yui控件:

yui控件库为你页面提供一组高交互性性的可视化元素。这些元素完全在客户端创建维护,不需要请求服务器进行页面刷新。

这些控件包括:

自动完成(AutoComplete)控件:自动完成控件为文本输入提供一种渐进式的用户体验(streamline user interactions)。控件会提供相似项列表和基于多样化的数据格式的提前键入功能(type-ahead functionality based on a variety of data-source formats),并且可以通过XMLHttpRequest访问服务端的数据。

日历(Calendar)控件:一个用来日期选择的动态图形控件。

容器(Container)控件:一组模仿windows样式的控件,他们包括Tooltip, Panel, Dialog 和 SimpleDialog。其中Module 和 Overlay控件提供一个可扩展的平台,你可以控制自定义的模仿windows样式的控件。

日志(Logger)控件:提供一个快速和简单的记录日志的方式,它直接将日志信息输出到屏幕控制台(on-screen console)、Firefox的扩展组件FireBug,或者Safari的Javascrīpt控制台。yui的Debug组件将完整的记录输出信息和调试信息。

菜单(Menu)控件:利用此控件只需要几行简单的代码就可以设计一个动态样式的菜单。可以完全使用javascrīpt构造一个菜单,can be layered on top of semantic unordered lists。

滑块(Slider)控件:提供一个可滑动的组件,它允许使用者在一定的范围内(x轴,y轴)改变滑块的位置。

树形(TreeView)控件:提供一个节点可缩放的树形控件。节点可以是链接,自定义属性,并且可以动态加载。节点元素的展现可以通过CSS修改,比如文件夹视图,TO-DO任务列表或者其他可视化处理

yui的CSS资源

为了让CSS能符合不同等级的浏览器(A-Grade browsers)的标准,我们想了很多。我们把这些作为yui类库的一部分共享出来,希望能在这里得到促进,获得一个简洁的,可维护并在浏览器中表现优秀的设计。

页面网格样式(CSS Page Grids):7个基本的用css组织子组件的页面框架,支持130种不通的页面布局。

标准的CSS字体(Standard CSS Fonts):标准的跨浏览器字体样式和大小展现。

标准的CSS排列(Standard CSS Reset):使用这些CSS声明来排除页面的空白部分并且公共元素的样式兼容各种浏览器的展现。

看了这么多控件,无从下手,我决定先从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了

分享到:
评论

相关推荐

    Yahoo UI Library

    User Interface Library(简称yui) 是一个使用Javascrīpt编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布,...

    YahooUI Library

    User Interface Library**(简称 **YUI**)是一款强大的前端工具和控件库,旨在简化 Web 开发流程,并帮助开发者构建出具备丰富交互特性的应用程序。YUI 采用 JavaScript 编写,充分利用了 DOM 脚本、DHTML 和 AJAX...

    yui_0.11.4.zip

    User Interface Library (YUI) The Yahoo! User Interface (YUI) Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such...

    yahoo ui library(简称yui)搞WEB开发的朋友值得看一看,充分发挥出了javascript的功能

    User Interface Library(简称yui) 是一个使用Javascrīpt编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布,...

    yahoo yui 3.3.0

    User Interface Library(简称yui) 是一个使用Javascrīpt编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布,...

    yui详细教程,适合新人

    User Interface Library,是由雅虎公司开发并开源的一套前端JavaScript库,旨在帮助开发者构建高效、可扩展的Web应用程序。它提供了丰富的组件,涵盖了DOM操作、事件处理、动画效果、数据管理、Ajax交互等多个方面...

    Learning.the.Yahoo.User.Interface.library

    ### 学习雅虎用户界面库(Yahoo User Interface Library) #### 概述 《学习雅虎用户界面库》是一本详细介绍雅虎用户界面库(YUI)的书籍,由Dan Wellman编写,于2008年3月首次出版。本书主要面向Web开发人员和...

    雅虎YUI组建

    User Interface Library,简称YUI)是雅虎公司推出的一款开源JavaScript和CSS框架,旨在帮助开发者构建高性能、可扩展的前端应用。YUI包含了丰富的组件,包括布局管理、事件处理、动画效果、Ajax交互、表单验证等,...

    雅虎css3.9.0整理包

    User Interface Library)提供了丰富的CSS工具和组件,使得网页布局和样式控制变得更加高效。 首先,CSS3.9.0引入了新的选择器和伪类,比如`nth-child()`和`:nth-of-type()`,这些功能允许开发者更精确地选择和...

    YAHOO.util.Dom.rar_YAHOO.util_YAHOO.util.Dom.chm_yahoo.util同步

    User Interface Library)是一个强大的工具集,尤其在DOM操作方面表现卓越。YAHOO.util.Dom是YUI库的核心组件之一,它提供了一系列高效、易用的函数,帮助开发者更便捷地处理DOM元素,从而实现丰富的用户界面。本文...

    Javascript 常见效果 雅虎

    User Interface Library)的开源JavaScript类库,旨在帮助开发者更高效地构建高质量的Web应用程序。YUI包含了丰富的组件和工具,涵盖了DOM操作、事件处理、动画效果、数据管理、Ajax通信等多个领域。 在...

    雅虎UI 经典例子

    User Interface Library),是由雅虎公司开发并开源的一个强大工具集,它专注于JavaScript和CSS技术,为开发者提供了构建功能丰富的、响应式的Web应用所需的各种组件和资源。 YUI的核心在于它的模块化设计,允许...

    yui_3.0.0(雅虎官方)

    User Interface Library,是雅虎公司开发的一款开源JavaScript库,旨在帮助开发者构建高性能、可扩展且易于使用的Web应用程序。YUI 3.0.0是这个库的一个重要版本,它在继承了前一版本的优点基础上,引入了许多新的...

    Professional JavaScript Frameworks: Prototype,YUI, ExtJS, Dojo and MooTools

    User Interface Library)、ExtJS、Dojo以及MooTools。这些框架在Web开发中扮演着重要角色,为开发者提供了丰富的功能和高效的工具。 Prototype是一个轻量级的JavaScript库,它增强了JavaScript语言的功能,简化了...

    提示补全组件:Kissy Suggest

    User Interface Library)的部分组件,如DOM事件处理。这个文件可能被用来支持Kissy Suggest组件的事件监听和处理。 4. **suggest-yui2-min.js** - 这很可能是Kissy Suggest组件的核心脚本文件,经过压缩和优化,...

    YUI-ajax框架开发文档

    User Interface Library)是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、可扩展的Web应用程序。YUI的核心在于提供了一系列模块化的组件,包括DOM操作、事件处理、动画效果、Ajax交互等,使得...

    Reset CSS研究

    User Interface Library)也推出了自己的YUI Reset CSS,由Nate Kokechley创建。这两个方案成为了最广为人知的CSS Reset实现。 然而,随着前端开发的进步,出现了更多的讨论关于是否真的需要全面的CSS Reset。一些...

    yui.rar 例子

    User Interface Library,是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、易于维护的网页应用。本篇文章将结合“yui.rar 例子”,深入探讨YUI的核心特性、模块化设计以及在实际开发中的应用。 ...

    YAHOO yui2.7 文档+ 代码+例子

    User Interface Library)是雅虎公司开发的一个开源的JavaScript和CSS库,它为构建高性能、跨平台的Web应用程序提供了丰富的工具和资源。YUI 2.7是这个库的一个版本,包含了文档、源代码以及实例,使得开发者能够...

    YUI2.8.1包括demo api是学习的好东西

    User Interface Library)是雅虎公司推出的一款开源JavaScript库,它旨在帮助开发者构建高质量的Web应用程序。YUI 2.8.1是该库的一个特定版本,包含了丰富的功能和工具,对于想要深入学习前端开发,尤其是使用Yahoo...

Global site tag (gtag.js) - Google Analytics