JS的完美运动框架
来源:互联网 发布:淘宝可以寄到日本吗 编辑:程序博客网 时间:2024/04/27 14:44
function getStyle(obj, name){if(obj.currentStyle){return obj.currentStyle[name];} else{return getComputedStyle(obj, false)[name];}}//注意:在多物体运动框架中,所有东西都不能公用 !否则出问题,BUG;将必要的变量加到物体的属性中就行。即:属性与运动对象绑定:速度、其他属性值(如透明度等等)function startMove(obj, json, fnEnd)//完美运动框架//换为json,如:startMove(oDiv, {width: 400, height: 400}){clearInterval(obj.timer);obj.timer=setInterval(function (){var bStop=true; //关键 //假设:所有的值都已经到了for(var attr in json) //用一个循环,把原来的那套东西包在里面,每次定时器执行的时候,都会循环,循环的次数取决于json里面写了什么{var cur=0;if(attr=='opacity'){cur=Math.round(parseFloat(getStyle(obj, attr))*100); //因为这里,会出问题,小数}else{cur=parseInt(getStyle(obj, attr));}var speed=(json[attr]-cur)/6;speed=speed>0?Math.ceil(speed):Math.floor(speed);if(cur!=json[attr])bStop=false;if(attr=='opacity'){obj.style.filter='alpha(opacity:'+(cur+speed)+')';obj.style.opacity=(cur+speed)/100;}else{obj.style[attr]=cur+speed+'px';} }if(bStop)//如果所有的值都到了,关闭定时器{clearInterval(obj.timer);if(fnEnd) fnEnd();}}, 30); }
说明 :
obj ---------------> 进行运动的节点
json ------------> 要进行哪些运动 如:{width:300,height:200} 300 、200为目标点
fu ---------------> 运动结束后进行的 操作 如 :运动结束后出现一个弹窗什么的
这个JS完美运动框架是CSS2 的 ~
在CSS3里还有一套超越完美运动框架的框架~那套框架在CSS3和CSS2里面通吃~
0 0
- JS的完美运动框架
- js运动-完美运动框架
- JS完美运动框架
- JS完美运动框架
- 完美运动框架【js】
- JS完美运动框架
- JS完美运动框架
- JS完美运动框架的封装过程
- js运动框架完美运动框架
- JS中的完美运动框架
- js完美运动框架最终版
- js-完美物体运动框架
- js运动技术--完美运动框架
- 完美运动(链式运动)JS框架
- 原生Js完美运动框架(缓冲运动和弹性运动)
- js完美运动框架,想得到的效果基本能做到
- js运动框架完美运动框架2--这个才有效
- JS 运动框架(3) 完美运动框架
- Php学习之php的基本概念
- 七、线程
- 【MySQL】MySQL学习笔记
- uva11627(二分 + 模拟)
- (python)获取阅FM网站的文章数据
- JS的完美运动框架
- 一、java语言基础
- ubuntu下python thrift安装
- 001_Bundle 翻译学习
- 二维数组去重
- js弹窗(三种
- iOS 计算文字长度---
- Php学习之Apache服务器详解
- 【Codeforces】 Codeforces Round #295 (Div. 1) Pluses everywhere