`
ayue222
  • 浏览: 49625 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初涉YUI3

阅读更多
study.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>初涉YUI3</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<style type="text/css">
	#yuidemo {float:left;background:#00CCFF; border:1px dotted #000; padding:1em; width:40%;height:300px;}
	#yuidemo1 {float:left;background:#00FFCC; border:1px dotted #000; padding:1em; width:40%;height:300px;}
	#testLogger{position:absolute;right:10px;top:10px;}
	.yui-skin-sam .yui-console-entry-content{font-size:12px;}
	</style>

</head>
<body class="yui-skin-sam">
<div id="yuidemo">
	<div class="hd"></div>
	<div class="bd"></div>
	<div class="ft">
		<input type="button" class="btn" value="RUN" />
	</div>
</div>

<div id="yuidemo1">
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div>
		<input type="button" class="btn" value="RUN" />
	</div>
	<div></div>
</div>
</body>
<script src="http://yui.yahooapis.com/3.0.0/build/yui/yui.js"></script>
<script type="text/javascript">
	YUI({modules:{
	        'study': {
	            fullpath: "study.js",
	            requires: ['dom','node']
	        }
	    }}).use('study', function(Y) {
		 Y.study.doButton('yuidemo',["#00ffcc"]);
		 Y.study.doButton('yuidemo1',["#00ccff"]);
	});
</script>
</html>


study.js:

YUI.add('study', function(Y) {
	Y.study={
		doButton:function(dModule){
	     	var Moudle='#'+dModule,btn=Y.one(Moudle+' .btn'),over=(arguments[1])?arguments[1][0]:"#00ffcc"||"#00ffcc";
			var go=function(){
				btn.detach();
				Y.all(Moudle+' div').setContent('bbb').addClass('comm');
				setTimeout(function(){Y.all(Moudle+' div').each(function(el,i){
					var bColor=(i%2==0)?'#dddddd':'#ffffff';
					el.setContent(i).setStyle('backgroundColor',bColor);
					el.on('mouseover',function(){this.setStyle('backgroundColor',over);});
					el.on('mouseout',function(){this.setStyle('backgroundColor',bColor);})
			    },'div')},2000);
			}
			btn.on('click',go);
		}
	}
}, '1.0.00');


       稍稍感受了一下YUI3的新特性,感慨就不发了 。。。细细体会以上的code,只加载核心库(core),再按需引入各前置模块的特性令人耳目一新。
eg.

YUI(config).use("node", function(Y) {
    // TODO
});

我们来看看config参数:
base: the base path to the YUI install
charset: specify a charset for inserted nodes, default is utf-8
loadOptional: automatically load optional dependencies, default false combine: use the Yahoo! CDN combo service for YUI resources, default is true unless 'base' has been changed
filter: apply a filter to load the raw or debug version of YUI files
timeout: specify the amount of time to wait for a node to finish loading before aborting
insertBefore: The insertion point for new nodes
modules: { /* one or more external modules that can be loaded along side of YUI */
     "study": {
          fullpath: "study.js" ,
          require:['dom','node'] // require module
     },
     json2_org: {
          fullpath: "http://www.json.org/json2.js"
     }
}


YUI().add('demo-base',function(Y){
     Y.demo=function(){};
} , version , {requires:['node','event']});

YUI().add('demo', function(Y){} , version ,{use:['demo-base','demo-upgrade']})
add方法接受四個参数。
a.模塊名称;
b.模塊内容;
c.模塊版本(可能會提供自定義加载指定版本的模塊);
d.控制變量。
  控制變量有最关键的两個属性requires和use。当對模塊申明了requires的控制變量时,表示该模塊依赖于requires内指定模塊运行,yui會先加载所依赖的模塊,再执行我们的模塊,保證其运行时的完整和安全。而use则定义了模塊中整合的小模塊,由于yui3的粒度小,一個大的模塊可以通过use申明来整合小模塊。这样,在保證了框架的粒度劃分的同时也保證了整體性。


PS:大夥可以複雜化這個例子,然後觀察firebug中Net面板中該page加載的線程。。你會發現YUI3一個更大的秘密哦~~^_^。。。更多更強大的功能特性請移步到 http://developer.yahoo.com/yui/3/
1
0
分享到:
评论

相关推荐

    yui3-master.zip

    《深入理解YUI3:基于yui3-master.zip的探讨》 YUI(Yahoo! User Interface Library)是由雅虎公司开发的一套开源JavaScript库,它为Web开发者提供了丰富的功能和工具,以创建交互性强、性能优秀的网页应用。YUI3是...

    YUI3 dialog组件

    **YUI3 Dialog组件详解** YUI3是Yahoo!推出的一款强大的JavaScript库,它提供了丰富的UI组件和工具,用于构建高性能、跨平台的Web应用程序。Dialog组件是YUI3中的一个重要部分,它允许开发者创建可交互的弹出窗口,...

    YUI3 中tree的两种实现

    这篇博文“YUI3 中tree的两种实现”探讨了如何在YUI3中创建和管理树形结构。 1. **YUI3 TreeView组件** YUI3 TreeView组件是YUI3核心库的一部分,它允许开发者创建交互式的树结构。这个组件支持节点的添加、删除、...

    从YUI2到YUI3看前端的演变

    从YUI2到YUI3看前端的演变

    yui3-3.17.2最新版

    在实际使用YUI 3.17.2时,开发者可以通过`yui3-3.17.2`这个压缩包文件获取所有必要的资源。这个压缩包中包含了库的源码、示例、文档和其他辅助工具。开发者可以按照项目需求,选择合适的模块和组件进行集成。 在...

    从YUI2到YUI3看前端的演变 pdf

    YUI3 引入了粒度更细的模块管理方式,通过异步 HTTP 请求加载模块、然后执行回调来加载和使用模块。现场有很多人提出疑问,大家无非关心的是“效率”二字。个人以为在现阶段,这种方式有一点激进,否能为广大用户所...

    YUI3 完整包

    Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。

    YUI3.6文档及示例

    1. **模块系统**:YUI3引入了模块化设计,允许开发者按需加载组件,降低页面的初始化时间。模块可以通过`YUI.use()`方法来加载,实现了代码的异步加载和依赖管理。 2. **事件系统**:YUI的事件处理机制强大且灵活,...

    yui 资源包

    3. **事件处理**:YUI的事件系统强大,支持事件绑定、解绑、事件冒泡等,使得用户交互编程简单易行。 4. **动画效果**:通过Transition和Anim模块,可以轻松实现平滑的CSS3动画和JavaScript动画效果。 5. **数据绑定...

    YUI3.7.3 最新版本 带API

    1. **模块系统**:YUI3引入了CommonJS风格的模块系统,允许开发者通过`YUI.use()`方法加载所需模块,实现按需加载,减少页面初始化时的加载量。 2. **事件处理**:YUI3提供了强大的事件系统,支持DOM事件、自定义...

    yui.rar 例子

    《深入理解YUI:基于“yui.rar 例子”的解析》 YUI,全称Yahoo! User Interface Library,是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、易于维护的网页应用。本篇文章将结合“yui.rar 例子”...

    yuicompressor-yui compressor

    yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yui...

    yahoo3.0 YUI Examples

    1. **YUI 3.0架构**:YUI 3采用了模块化设计,允许开发者按需加载组件,降低了页面加载时间。每个模块都有独立的命名空间,避免了全局变量污染。 2. **核心组件**:YUI 3的核心组件包括事件处理、DOM操作、动画效果...

    【YUI组件】基于YUI的表单验证器

    3. **事件监听**:YUI表单验证器可能会通过监听表单元素的`onsubmit`、`onchange`等事件来进行实时验证。 4. **错误提示**:验证失败时,如何优雅地向用户展示错误信息,是用户体验的重要组成部分。 5. **自定义验证...

    YUi文档(中文的哦)

    ### YUI3中文文档知识点详解 #### YUI3概述及YUIGlobal对象介绍 **YUI3** 是一个开源的JavaScript库,旨在提供一系列工具和API,帮助开发者构建高性能、高质量的Web应用。YUI3的核心优势在于其模块化的设计、强大...

    yui_2.9.0前端UI

    YUI 库,全称Yahoo! UI Library。是一组工具和控件,用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。 YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两...

    YUI-EXT使用详解

    3. **数据绑定(Data Binding)**:YUI-EXT支持数据绑定,允许UI组件与后台数据模型直接关联。当数据模型发生变化时,UI会自动更新,反之亦然。这极大地简化了数据驱动的界面开发。 4. **表单(Forms)**:YUI-EXT...

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

    同时,YUI的后续版本(如YUI 3)引入了更多改进和新特性,保持了YUI在前端开发领域的竞争力。 总之,YUI 2.7作为一个成熟的JavaScript框架,为开发者提供了强大的工具集,帮助他们高效地构建现代Web应用。其丰富的...

    YAHOO YUI3简单入门

    **YUI3简介** YUI(Yahoo! User Interface Library)是雅虎公司开发的一个开源JavaScript库,主要用于构建富互联网应用程序(RIA)。YUI3是YUI的第三个主要版本,它在设计时注重模块化、可扩展性和性能优化,提供了...

Global site tag (gtag.js) - Google Analytics