javascript流畅动画效果,包括颜色,style属性,dom元素属性一步搞定
来源:互联网 发布:吉他调音软件guitar 编辑:程序博客网 时间:2024/06/06 08:43
javascript的动画效果一般体现在HTMLElement元素的3个属性上:
- style对象的属性,如height,width,marginLeft等等
- 由于颜色的拐藻形式,如#eee,#ffffff,rgb(0,0,0)还有名字还百分比的我都不想提了,所以算然颜色也是style的属性但单独领出来。又称颜色梯度渐变。
- 就是HTMLElement的一些view properties,如scrollTop.当然有些是可以赋值的有些是只读的
自定义动画无非就是用定时器来改变上面提到的属性了,我们也分3步走:
- 解析自定义动画参数
- 配置动画步骤
- 启动定时器开始动画
- 如何能让低效率的javascript流畅动画呢见这里 : http://blog.csdn.net/tom_221x/archive/2009/09/07/4528564.aspx
现在无废话见代码:
第一部解析动画参数
这一步之后ops这个数组中存放了我们需要动画的属性,例如{height:'300px',width:'+=300px',color:'#eee'},
ops = ['height','',300,'px','width','+=','px','color','#eee','#','']可以看到每4个位置存放一个动画属性
接下来第二部配置动画步骤:
这里主要是计算动画的初始值和最终值,并且判断相对运动方向,如+=,-+,用到了两个辅助函数,如下
着这步之后step数组中存放了,需要动画的属性,开始值与最终值,例如{height:'300px',width:'+=300px',color:'#eee'}
step = [
height的初始值,300,0(这个是动画开始时间,后面用到),'height','px',
width的初始值,计算后的width的值,0,'width','px',
十进制颜色数组,'#'(表示为颜色属性),0,'color',''
]
可以看到,每5个位置存放一个动画属性的相关信息,现在一切就绪了需要启动计时器开始动画了
下面是tween算法和辅助函数
最后可运行代码下载和示例见这里:
http://mojo-js.appspot.com/
- javascript流畅动画效果,包括颜色,style属性,dom元素属性一步搞定
- JavaScript DOM中 改变样式属性,实现动画效果
- JavaScript DOM中 改变样式属性,实现动画效果 2
- JavaScript DOM 中获取元素属性
- JavaScript DOM 创建元素并设置属性
- javascript中DOM元素的属性方法
- 《js动画效果》之获取元素属性
- 《js动画效果》之获取元素属性
- JS中元素动画效果Transform属性
- javascript中style属性
- e.style.opacity 通过javascript调用元素的样式属性
- JavaScript / jQuery 设置、获取元素属性 值 设置style样式
- DOM元素属性
- Android Style之属性动画
- DOM(包括获取元素节点的方法以及获取和设置元素节点的属性)
- JavaScript DOM 方法 属性
- JavaScript DOM 属性
- JavaScript的DOM属性
- N以内的勾股数
- 电影《刘三姐》歌词
- 带icon图像的图标
- c#扩展方法奇思妙用高级篇五:ToString(string format) 扩展
- 2222
- javascript流畅动画效果,包括颜色,style属性,dom元素属性一步搞定
- 修改地图范围
- 使用“初中知识”实现查找重复最优算法 + 最终极限算法
- make** missing separator 错误解决
- windows下随机数的生成
- 使用CImage显示透明的PNG图片
- 编译linux 驱动出现device or resource busy问题
- ARM优化之局部变量的位宽
- 鼠标点到文本框时的提示信息