运动框架改进之完美运动框架 -纯js
2017-10-03 10:51
393 查看
function startMove( obj, json, fn ) {
clearInterval( obj.timer );
obj.timer = setInterval(function(){
var allStop = true; //检测本轮是否所有的值都到达目标
//1.取当前值
for(var attr in json) {
var iStyle = 0;
if(attr == 'opacity') {
iStyle = parseInt(parseFloat(getStyle(obj,'opacity'))*100);
} else {
iStyle = parseInt(getStyle(obj,attr));
}
//2.算速度
var iSpeed = (json[attr] - iStyle)/8;
iSpeed = iSpeed>0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
//3.检测结束
if(iStyle != json[attr]) {
allStop = false;
}
if(attr == 'opacity') {
obj.style[attr] = (iStyle+iSpeed)/100;
obj.style.filter = 'alpha(opacity:'+(iStyle+iSpeed)+')';
} else {
obj.style[attr] = iStyle + iSpeed +'px';
}
}
//所有的值都到达目标的时候,在关闭定时器
if(allStop) {
clearInterval(obj.timer);
if(fn) {
fn();
}
}
}, 30);
}
function getStyle(obj,attr) {
if( obj.currentStyle ) {
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj, false)[attr];
}
}
function startMove( obj, json, fn ) {
clearInterval( obj.timer );
obj.timer = setInterval(function(){
var allStop = true; //检测本轮是否所有的值都到达目标
//1.取当前值
for(var attr in json) {
var iStyle = 0;
if(attr == 'opacity') {
iStyle = parseInt(parseFloat(getStyle(obj,'opacity'))*100);
} else {
iStyle = parseInt(getStyle(obj,attr));
}
//2.算速度
var iSpeed = (json[attr] - iStyle)/8;
iSpeed = iSpeed>0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
//3.检测结束
if(iStyle != json[attr]) {
allStop = false;
}
if(attr == 'opacity') {
obj.style[attr] = (iStyle+iSpeed)/100;
obj.style.filter = 'alpha(opacity:'+(iStyle+iSpeed)+')';
} else {
obj.style[attr] = iStyle + iSpeed +'px';
}
}
//所有的值都到达目标的时候,在关闭定时器
if(allStop) {
clearInterval(obj.timer);
if(fn) {
fn();
}
}
}, 30);
}
function getStyle(obj,attr) {
if( obj.currentStyle ) {
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj, false)[attr];
}
}
相关文章推荐
- 完美运动框架(js)
- js-完美物体运动框架
- JS完美运动框架
- js完美运动框架,想得到的效果基本能做到
- JS完美运动框架详解——原理分析及demo
- JS完美运动框架
- Js完美运动框架-(简易仿微博动态更新)
- 2015.8.2js-19(完美运动框架)
- js完美多物体运动框架(缓冲运动)
- JS完美运动框架
- js运动框架完美运动框架2--这个才有效
- JS - 弹性运动完美框架
- js运动技术--完美运动框架
- JS的完美运动框架
- JS完美运动框架详解——原理分析及demo
- 完美运动框架【js】
- JS-完美运动框架(封装)
- 完美运动(链式运动)JS框架
- JS运动特效之完美运动框架实例分析
- js动画(完美运动框架)