Javascript 动画初探(实现)
作者:mingcheng 来源:gracecode.com 发布时间:2009-02-06 15:56:00
说完了理论,我们来做点实事。这篇文章将介绍使用 Javascript 实现的动画组件。
下面记录下当时编写这个组件的考虑的些问题,对技术细节感兴趣的朋友,可以到这里参看源代码:
需要几个回调函数控制初始化、动画运行时、动画完成的情况
将动画精确到运行了几帧
使用 setInterval 还是 setTimeout,最后还是选择了 setInterval(详细)
不管元素需要更改那些属性,提供相应公式即可,但这可能带来性能问题
要可扩展、而且稳定
这个动画组件的用法简要的说明下,首先我们要确定元素从哪里移动(begin)到哪里(final),我们可以将两个信息绑定到一起,比如
var position = {from: 0, to: 100};
然后实例化个动画组件,指定动画的运行时长(duration)以及动画运行类型(tween)
var motion = new Motion(duration, tween);
另外,我们当然希望在动画初始化、开始以及进行和结束时候做额外的事情,那么加入相应 的回调:
// 初始化motion.onInit = function() { // ...};// 开始motion.onStart = function() { // ...};// 动画运行时motion.onTweening = function() { // 需要获取某个时间点的坐标时,可以使用 this.equation 方法 var p = this.equation(position.from, position.to);};// 动画完成时motion.onComplete = function() { // ...};
当一切准备就绪,那么就可以开始动画了
motion.start();
当然,任何时候我们都希望能停止动画,那么就
motion.stop();
那么我们就可以通过这个动画组件完成常见的动画效果了。这里有个 DEMO,看下这个动画组件的实际使用例子。按照传统,代码可以在这里打包下载(中国as之家友情提示:.7z压缩文件,电脑安装7z软件后可以解压)。
附,参考资源:YUI 的动画组件、mootools 的动画组件 。
-- 未完待续 --
猜你喜欢
- 在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。在SQL Server 中每个变量、参数
- 同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂!概述首先主服务器把数据变化记录到主日志,然后从服务
- 内部存储格式:世纪、年、月、日、小时、分钟、秒默认格式是:DD-MON-RR。SYSDATE 返回当前的系统时间。SELECT S
- 代码如下: var lishustr = "qwertyuiopasdfghjklmnbvcxz"; var s = l
- 《色彩解答》系列之一 色彩层次这次我们将深入进去了解一下众多色彩在一起之后所存在的“比例”关系。我们在使用色彩的时候不可能把所有的色彩都做得
- 生活形态(Life-Style)的概念源自社会学与心理学,六十年代即有学者正式引用到市场营销领域,并运用其心理影射与多维度等特质,着力解释人
- [数据恢复故障描述]一台重要的MYSQL数据库服务器,146GB*2,RAID1,约130GB DATA卷,存储了大约200~300个数据库
- 作为设计主管,Peter Stern 已经领导 microsoft.com 重新设计了主页并且开发了五个不同的交互工具,这些工具被用于下载中
- 在做视觉设计时,如何高效地使用图标是一门学问:该使用什么样的图标?图标该放在哪里?大小如何?图标的使用是否帮助用户更好更快的理解内容,亦或是
- Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问.我的Mysql环境是ubuntu+mysql51.修改/etc/m
- 总结了5个关于css布局的常见问题,并附有解决方法,供参考。float的3像素问题及解决办法当使用float浮动容器后,在IE6下会产生3p
- 阅读上一篇:打造设计你自己的字体 ⅠMyFonts.com上销售的字体总数已经超过55,000个。现有字体的巨大数量表明了一个事实:我们在设
- 本次薯片会一改以往低调、沉稳之作风,先瑜伽团美女show上阵,再是以臭为首的吃喝团上阵,两轮下来大家情绪Hight到了极点,自然讨论的时候思
- 去掉数据重复 增加两个字段 alter TABLE T_Employee Add FSubCompany VARchar(20); ALTE
- 某些情况下:我们希望在一个SQL Server下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成
- 前文主要纠正title用法上的几点误区,其实除链接和表单的常规标签用法。在内容组织方面还有大潜力待发掘,比如写网志经常会有针对词、短语说明的
- // 格式化字符串 Fmt("{0}.[{id}].{name}",{id:1,name:'
- 第四篇《WEB标准能有多难?》专栏文章将结束关于文本部分的XHTML的讲解。那么这篇主讲的内容涉及链接、标题、插入、删除、上下标、分割线、换
- Dreaweaver MX 2004 中增加了图片处理功能,如图片亮度和对比度的调节、图片的锐化效果等
- 相对于 Ajax,服务端 XMLHTTP 就是在服务端使用 XMLHttpRequest 对象了。虽然说,在服务端使用异步请求是比较不方便的