为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript看下这个值随时间变化而变化的函数为什么出错

JavaScript看下这个值随时间变化而变化的函数为什么出错

炎炎设计 2018-12-06 20:33:00
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秒。
查看完整描述

5 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

因为CSS操作时间长,应把setTimeout放在最先

查看完整回答
反对 回复 2018-12-24
?
UYOU

TA贡献1878条经验 获得超4个赞

居然有问着中问题的。。看着头疼

查看完整回答
反对 回复 2018-12-24
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

看你的错别字也很头疼

查看完整回答
反对 回复 2018-12-24
?
慕森卡

TA贡献1806条经验 获得超8个赞

C,T指向什么?

查看完整回答
反对 回复 2018-12-24
?
墨色风雨

TA贡献1853条经验 获得超6个赞

没有大写T啊?

查看完整回答
反对 回复 2018-12-24
  • 5 回答
  • 0 关注
  • 513 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号