var w=window;//先给变量w赋值windowfunction 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秒。
添加回答
举报
0/150
提交
取消