var w=window;//先给变量w赋值window
function B(v_Cg,v_C,v,j,I,st,t,D,C){
function CgE(){
L=0;
for(L in v){
v[L]+=j[L];
V[L]=v[L];
if(I)
V[L]=Math.round(V[L]);
}
if(v.length==1)
D(V[0]);
else
D(V);
J++;
if(J!=t)
eval(v_Cg+'=w.setTimeout(CgE,st);');
else
eval(v_C+'=w.setTimeout(C,1);');
}
var J,L,V;
V=[];J=0;
if(T(v)!='array' && T(j)!='array'){
v=[v];j=[j];
}
eval(v_Cg+'=w.setTimeout(CgE,st);');
}
这是个随时间变化改变值的函数。
其中没提到的T()是个检查变量类型的函数,该函数正常。
参数解释如下:
v_Cg :用来setTimeout改变值的变量的名字。
v_C :用来CallBack的变量的名字。
v :初始值。(可以是正负浮点数,整数,或者全是数字的数组)
j :每次改变的值。(可以是正负浮点数,整数,或者全是数字的数组)
I :变化的结果是否取整数。布尔值。
st :每次变化之间的时间间隔。单位毫秒。
t :变化次数。整数。
D:每次变化后执行的函数。
C:CallBack。
v为初始值,每间隔st毫秒钟,v加j,然后执行一次D函数,参数为变化后的t,一共变t次,变完后执行C函数。
例如我可以用这个函数来对一个div进行动画。
<div id="abc" style="width:100px;height:50px;background:#333;"></div>
<script>
var CgS,CS;
window.onload=function(){
C('CgS','CS',50,3,false,10,100,function(n){
document.getElementById('abc').style.height=n+'px';
},function(){alert('1');});
}
</script>
为什么这个动画执行了3秒?理论应该是1秒。
因为CSS操作时间长,应把setTimeout放在最先
居然有问着中问题的。。看着头疼
看你的错别字也很头疼
C,T指向什么?
没有大写T啊?