function animfactory(){
return function(){
//动画代码
}
}time1=setInterval(animfactory);上面是第一步重构 吧你动画的代码抽出来 作为一个原子级别的调用var animManager = {
runs:function(times){ //times运行几次
var handlers = [];
for(var i=0;i<times;i++){
handlers.push(setInterval(animfactory));
}
return handlers;
}
}var handlers = animManager.runs(8);这个是第2步重构 把你的类同操作 作为集合处理
--->改成
setInterval(animfactory())
再麻烦一下,不好意思哈,我下面代码有点问题,指点一下function animfactory(i , umn){
return function(){
console.log(i+","+umn);//这里没有值,不知道该怎么搞
if(umn==0){代码}
}
}
var animManager = {
runs:function(ti){//times运行几次
var handlers = [];
for(var i=0;i<ti;i++){
var umn=0;
handlers.push(setInterval(function(){
animfactory(i , umn);
umn+=1;
if(umn>2){umn=0;}
},aImgItem[1]));
}
return handlers;
}
}
var handlers = animManager.runs(t.length);