YUI3:Animation
动画工具提供了API用于创建高级的属性值之间的变化方法。
1. 开始
包含依赖文件
<script src="http://yui.yahooapis.com/3.3.0/build/yui/yui-min.js"
charset="utf-8"></script>
当anim模块被使用时,YUI实例能自动获取动画资源文件和其他缺失依赖文件。让YUI实例决定需要加载的文件有助于避免手动管理页面需要加载的文件列表来支持多组件,而且优化初始化页面。
如果确实需要手动在页面中包含所依赖文件,YUI依赖文件配置可以用来确定使用动画所需的文件列表。
YUI实例
一旦页面拥有了YUI seed(yui-min.js),就可以为应用创建一个新的实例,并用所需模块填充,指定use方法的第一个参数。
YUI().use(‘anim’,function(Y){
//
});
Use方法的后一个参数是一个回调函数。一旦YUI实例准备好下载所有页面所需文件,该回调函数就会被激活。一旦这些文件都加载完成,修饰anim模块的类以及其他所依赖的模块都会用来填充本地YUI实例。YUI实例(Y)填充参数传回到回调函数中。在回调中,可以基于你自己的普通YUI实例开始写应用代码。
关于创建YUI实例与use方法的更多知识,可以参考YUI Global。
实例化一个Animation对象
一个Animation执行将包含一个或多个anim实例。
在页面中创建一个anim实例,为其传递一个配置对象和to属性,该对象即是需要动画的node或selector查询:
var myAnim = new Y.anim({
node:'#demo',
to:{
width:0,
height:0
}
});
开始一个真正的动画,可以在Anim实例上使用run方法:
myAnim.run();
参考API文档可以查看更多关于Anim对象的属性和方法。
2. 使用动画工具
1) 访问anim的属性
使用set和get方法能访问anim对象的属性;
YUI.use('anim',function(){
var myAnim = new Y.Anim({
node:'#demo',
to:{
width:0,
height:0
}
myAnim.set('duration',0.5);
myAnim.set('easing',Y.Easing.easeOut);
});
});
2) 设置to值
一个node属性和to属性包含一个或多个执行动画所需的属性;
To属性的值可以是函数。如果使用的是函数,接收node作为唯一参数,该函数返回值返回给to将作为run方法的参数。
to:{
width:function(node){
return node.get('offsetWidth')/2;
},
height:0
}
3) 设置from值
使用可选的from属性使动画从一个特定的值开始。当from缺省,那么将使用当前值。
和to属性类似,from属性值可以是一个函数。该函数使用node作为参数,函数返回值给from作为run方法的起始值。
from:{
width:0,
height:function(node){
return node.get('winHeight');
}
}
4) 监听事件
动画功能定义了events用于多种动画的多个阶段。On方法用于加入event监听。
anim.on('end',function(){
anim.get('node').addClass('yui-hidden');
});
3.
分享到:
相关推荐
3. **事件系统**:YUI 3.0.0提供了一个强大的事件处理系统,支持DOM事件和自定义事件,可以方便地进行事件监听和触发,简化了事件处理的复杂性。 4. **动画效果**:内置的Animation模块提供了丰富的动画效果,包括...
YUI框架API为开发者提供了丰富的功能和强大的工具,使得前端开发变得更加高效。 1. **模块化设计** YUI的核心理念之一就是模块化。每个功能或组件都被封装为独立的模块,如Event(事件)、Animation(动画)、Node...
4. Animation:动画模块是YUI的一大亮点,它允许开发者轻松创建各种复杂的动画效果,包括平移、缩放、旋转等,极大地丰富了Web应用的视觉表现。 5. CSS Utilities:这一模块提供了强大的CSS辅助工具,如样式表加载...
3. **Event(事件)**:YUI的事件系统支持事件监听、事件代理和事件分发,使得事件处理更加高效和灵活。 4. **Animation(动画)**:提供了平滑的CSS和属性动画,可以创建各种复杂的过渡效果。 5. **DataSource...
4. **动画效果**:YUI的Animation模块提供了创建复杂动画效果的能力,包括平移、缩放、旋转等,支持CSS属性动画和JavaScript对象动画。 5. **Ajax通信**:YUI的Connection Manager模块简化了与服务器的异步通信,...
YUI 2.7 版本是这个库的一个重要里程碑,它提供了丰富的组件和工具,以便于前端开发人员更好地处理页面布局、事件处理、AJAX 交互、动画效果以及数据管理等任务。 **一、YUI 的核心特性** 1. **模块化设计**:YUI ...
3. **初始化YUI**:调用`YUI().use()`方法初始化YUI,并传入需要的模块。 4. **编写代码**:在回调函数中编写具体的应用逻辑,使用YUI提供的API。 **四、YUI与其他JavaScript库的比较** YUI与jQuery、Dojo、...
5. **动画和视觉效果**:YUI的Animation模块提供了一套强大的动画引擎,可以创建平滑的过渡效果和复杂的动画序列,增强用户体验。 6. **数据绑定和模板引擎**:YUI的数据绑定功能使得数据与视图可以自动同步,而...
3. **模块化系统**:阐述YUI的模块化设计,如何通过YUI.use()方法按需加载模块。 4. **类系统**:介绍YUI的面向对象编程特性,包括类的创建、继承和实例化。 5. **DOM操作**:讲解YUI如何简化DOM元素的选择、操作和...
3. **slider**:这是YUI中的滑块组件,用于创建可拖动的滑动条,常用于调整设置或浏览内容。 4. **animation**:动画模块,提供了丰富的JavaScript动画效果,如淡入淡出、移动、旋转等,使网页元素动态化。 5. **...
User Interface Library,是由雅虎公司开发并开源的一套前端JavaScript库,旨在帮助开发者构建高效、可扩展的Web应用程序。它提供了丰富的组件,涵盖了DOM操作、事件处理、动画效果、数据管理、Ajax交互等多个方面...
虽然雅虎已宣布停止对YUI的官方维护,但其在历史上对前端开发的贡献不可忽视。 YUI的核心特性包括: 1. **模块化**:YUI采用模块化设计,允许开发者根据需求选择和加载必要的组件,减少页面加载时间。例如,可以...
3. **DOM工具**:YUI提供了强大的DOM操作接口,如选择、遍历、修改元素,以及附加和移除事件监听器等,简化了对DOM的操作。 4. **IO组件**:通过XHR(XMLHttpRequest)对象,YUI提供了进行异步HTTP请求的功能,支持...
User Interface Library**(简称 **YUI**)是一款强大的前端工具和控件库,旨在简化 Web 开发流程,并帮助开发者构建出具备丰富交互特性的应用程序。YUI 采用 JavaScript 编写,充分利用了 DOM 脚本、DHTML 和 AJAX...
然而,随着前端技术的发展,现代框架如React、Vue和Angular等已经取代了YUI的部分角色,但YUI仍然是一份宝贵的历史遗产,它的设计理念和解决问题的方法对于理解现代前端开发仍然具有重要的参考价值。