- 浏览: 49625 次
- 性别:
- 来自: 北京
最新评论
-
hanxiao84322:
强大啊,虽然没有完全看明白。
YUI 3.0应用初探 -
osacar:
不行啊。没效果!在Opera下测试
IE也不行。
JS iframe跨域自适应内容高度 -
xxzjzb1:
中秋送礼,首选书画、艺术品交易平台爱艺购!
JS将数字转换成三位逗号分隔的样式 -
mozart0:
货币:num.toFixed(2).replace(/(\d) ...
JS将数字转换成三位逗号分隔的样式 -
cnxxg:
这样能处理一个元素含有多个classname的情况吗?
javascript 整合的获取ID,className,tagName的方法
study.html
study.js:
稍稍感受了一下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/
<!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/
发表评论
-
使用javascript动态创建SVG对象的问题
2011-04-24 01:04 2249如何在html中操作SVG对象的问题,对于嵌入式<emb ... -
YUI3 事件
2011-04-23 20:02 1593YUI3:事件 YUI的事件功能为响应DOM事件提供一个简单 ... -
直接运行html的代码
2010-12-07 17:19 894function runCode(pTargetId){ v ... -
JS正则表达式详解
2010-10-28 10:12 983JS的正则表达式 //校验是否全由数字组成 代码 va ... -
如何在事件代理中正确使用 focus 和 blur 事件
2010-10-21 22:09 1637什么是事件代理(Event Delegation)? 如果不 ... -
如何判断脚本加载完成
2010-10-21 22:04 969在“按需加载”的需求中,我们经常会判断当脚本加载完成时,返回一 ... -
JavaScript 获取事件对象的一个注意点
2010-10-21 22:00 979平时我们获取事件对象一般写法如下: function get ... -
判断 iframe 是否加载完成的完美方法
2010-10-21 21:52 979var iframe = document.createEle ... -
JS将数字转换成三位逗号分隔的样式
2010-08-02 16:33 3797function formatNumber(num){ ... -
YUI 3.0应用初探
2010-06-04 22:42 1373很惭愧。。。YUI3出来这么久了,一直都没有机会正式使用。。这 ... -
JS iframe跨域自适应内容高度
2010-02-24 11:05 2801<!DOCTYPE html PUBLIC " ... -
话说browser的脚本并行下载
2009-12-12 13:32 1392在讨论这次的主题 ... -
基於YUI2.8的 JS版多文件上传
2009-12-11 12:41 968select files: uploading: ... -
自定义滚动条
2009-11-12 19:42 987<!DOCTYPE html PUBLIC " ... -
javascript 整合的获取ID,className,tagName的方法
2009-11-12 19:40 2568var get=function(className, tag ... -
javascript 中绑定事件监听的函数【支持数组对象绑定】
2009-11-12 19:38 1214var addEventHandler=function(ob ... -
判断指定对象是否存在于另一个对象的原型链中
2009-11-12 19:35 993prototype 下的 isPrototypeOf() 方法 ... -
基于yui3如何写模块(一)
2009-11-12 19:33 959如今的前端开发越来越oo,也越来越注重重用,娴熟的用js写出o ... -
Js 数组排序【支持对象】
2009-11-12 19:30 1117//兼容 IE&FF&Safari var ... -
如何避免Javascript事件绑定出现内存泄漏
2009-11-12 19:02 1212Javascript绑定事件时,只要DOM的事件里访问不了DO ...
相关推荐
《深入理解YUI3:基于yui3-master.zip的探讨》 YUI(Yahoo! User Interface Library)是由雅虎公司开发的一套开源JavaScript库,它为Web开发者提供了丰富的功能和工具,以创建交互性强、性能优秀的网页应用。YUI3是...
**YUI3 Dialog组件详解** YUI3是Yahoo!推出的一款强大的JavaScript库,它提供了丰富的UI组件和工具,用于构建高性能、跨平台的Web应用程序。Dialog组件是YUI3中的一个重要部分,它允许开发者创建可交互的弹出窗口,...
这篇博文“YUI3 中tree的两种实现”探讨了如何在YUI3中创建和管理树形结构。 1. **YUI3 TreeView组件** YUI3 TreeView组件是YUI3核心库的一部分,它允许开发者创建交互式的树结构。这个组件支持节点的添加、删除、...
从YUI2到YUI3看前端的演变
在实际使用YUI 3.17.2时,开发者可以通过`yui3-3.17.2`这个压缩包文件获取所有必要的资源。这个压缩包中包含了库的源码、示例、文档和其他辅助工具。开发者可以按照项目需求,选择合适的模块和组件进行集成。 在...
YUI3 引入了粒度更细的模块管理方式,通过异步 HTTP 请求加载模块、然后执行回调来加载和使用模块。现场有很多人提出疑问,大家无非关心的是“效率”二字。个人以为在现阶段,这种方式有一点激进,否能为广大用户所...
Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。
1. **模块系统**:YUI3引入了模块化设计,允许开发者按需加载组件,降低页面的初始化时间。模块可以通过`YUI.use()`方法来加载,实现了代码的异步加载和依赖管理。 2. **事件系统**:YUI的事件处理机制强大且灵活,...
3. **事件处理**:YUI的事件系统强大,支持事件绑定、解绑、事件冒泡等,使得用户交互编程简单易行。 4. **动画效果**:通过Transition和Anim模块,可以轻松实现平滑的CSS3动画和JavaScript动画效果。 5. **数据绑定...
1. **模块系统**:YUI3引入了CommonJS风格的模块系统,允许开发者通过`YUI.use()`方法加载所需模块,实现按需加载,减少页面初始化时的加载量。 2. **事件处理**:YUI3提供了强大的事件系统,支持DOM事件、自定义...
《深入理解YUI:基于“yui.rar 例子”的解析》 YUI,全称Yahoo! User Interface Library,是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、易于维护的网页应用。本篇文章将结合“yui.rar 例子”...
yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yui...
1. **YUI 3.0架构**:YUI 3采用了模块化设计,允许开发者按需加载组件,降低了页面加载时间。每个模块都有独立的命名空间,避免了全局变量污染。 2. **核心组件**:YUI 3的核心组件包括事件处理、DOM操作、动画效果...
3. **事件监听**:YUI表单验证器可能会通过监听表单元素的`onsubmit`、`onchange`等事件来进行实时验证。 4. **错误提示**:验证失败时,如何优雅地向用户展示错误信息,是用户体验的重要组成部分。 5. **自定义验证...
### YUI3中文文档知识点详解 #### YUI3概述及YUIGlobal对象介绍 **YUI3** 是一个开源的JavaScript库,旨在提供一系列工具和API,帮助开发者构建高性能、高质量的Web应用。YUI3的核心优势在于其模块化的设计、强大...
YUI 库,全称Yahoo! UI Library。是一组工具和控件,用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。 YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两...
3. **数据绑定(Data Binding)**:YUI-EXT支持数据绑定,允许UI组件与后台数据模型直接关联。当数据模型发生变化时,UI会自动更新,反之亦然。这极大地简化了数据驱动的界面开发。 4. **表单(Forms)**:YUI-EXT...
同时,YUI的后续版本(如YUI 3)引入了更多改进和新特性,保持了YUI在前端开发领域的竞争力。 总之,YUI 2.7作为一个成熟的JavaScript框架,为开发者提供了强大的工具集,帮助他们高效地构建现代Web应用。其丰富的...
**YUI3简介** YUI(Yahoo! User Interface Library)是雅虎公司开发的一个开源JavaScript库,主要用于构建富互联网应用程序(RIA)。YUI3是YUI的第三个主要版本,它在设计时注重模块化、可扩展性和性能优化,提供了...