function runAll(aFn,param,timeOut){ timeOut=timeOut || 50; var aNewFn=aFn.slice(); var lastFn=null; while(aNewFn.length>0){ var tempFn=aNewFn.pop(); lastFn=(function(lastFn,tempFn,timeOut){ return function(){ tempFn(param); setTimeout(function(){ if(lastFn){ lastFn(param); } },timeOut); } })(lastFn,tempFn,timeOut); } if(lastFn){ lastFn(param); } }