您的位置:首页 > Web前端 > JavaScript

js动画(完美运动框架)

2016-08-27 20:49 761 查看
function startMove(obj,json,fn){
var flag=true;//假设所有的运动都到达终点
clearInterval(obj.timer);
obj.timer=setInterval(function(){
for(attr in json){
//1取当前值
var icur=0;
if (attr=='opacity') {
icur=parseFloat(getStyle(obj,attr))*100;
} else {
icur=parseInt(getStyle(obj,attr));
}
//2算速度
var speed=(json[attr]-icur)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);//清除小数
//3检测停止,没有判断所有的都到达终点
if (icur!=json[attr]){
flag=false;
}
if (attr=='opacity') {
obj.style.filter='alpha(opacity:'+(icur+speed)+')';
obj.style.opacity=(icur+speed)/100;
} else {
obj.style[attr]=icur+speed+'px';
}
if(flag){
clearInterval(obj.timer);
if (fn) {
fn();
}
}
}
},30);
}
//获取属性方法
function getStyle(obj,attr){
if (obj.currentStyle) {
return obj.currentStyle[attr];//针对IE浏览器
} else {
return getComputedStyle(obj,false)[attr];//针对火狐浏览器
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: