function getStyle(obj,name){
if(obj.
currentStyle){
return obj.
currentStyle[name];
}
else{
return getComputedStyle(obj,
false)[name];
}
}
function move(obj,json,options){
options=options||{};
options.
duration=options.
duration||
700;
options.
easing=options.
easing||
'ease-in';
var count=
Math.
floor(options.
duration/
30);
var start={};
var dis={};
for(
var name in json){
//name = 名称
//json[name]= 值
start[
name]=
parseFloat(
getStyle(obj,
name));
dis[
name]=json[
name]-
start[
name];
}
var n=
0;
clearInterval(obj.
timer);
obj.
timer=
setInterval(
function(){
n++;
//var cur=start+dis*n/count;
for(
var name in json){
switch(options.
easing){
case 'linear':
var cur=
start[
name]+
dis[
name]*
n/
count;
break;
case 'ease-in':
var a=
Math.
pow(
n/
count,
3);
var cur=
start[
name]+
dis[
name]*
a;
break;
case 'ease-out':
var a=
Math.
pow(
1-
n/
count,
3);
var cur=
start[
name]+
dis[
name]*(
1-
a);
break;
}
if(
name==
'opacity'){
obj.
style[
name]=
cur;
obj.
style.
filter=
'alpha(opacity:'+(
cur*
100)+
')';
}
else{
obj.
style[
name]=
cur+
'px';
}
}
if(
n==
count){
clearInterval(obj.
timer);
options.
complete&&options.
complete();
}
},
30);
}
转载请注明原文地址: https://ju.6miu.com/read-300356.html