我发现这个伟大的职位上创造的javascript进度条: Show javascript execution progressjQuery的每个循环:如何整合到进度条的JavaScript代码
它为我的伟大工程,除了代码的一节我不能整合。
假设这种方法:
var process = {
steps: [
function(){
//processing
},
function(){
//processing
},
function(){
element.each(function(index){
//processing
});
},
function(){
//processing
},
function(){
//processing
}
],
index: 0,
nextStep: function(){
this.steps[this.index++]();
if (this.index != this.steps.length) {
var me = this;
window.setTimeout(function(){
me.nextStep();
}, 0);
}
}
};
process.nextStep();
This works great。不过,我认为是这样的一个过程:
element.each(function(index){
//do some processing
});
的一种方式进行整合,这将是刚刚在这样的功能,把它:
function(){
element.each(function(index){
//do some processing
});
},
然而,处理的约70%在这个循环中完成。因此,如果它从10%跳跃到80%,那么它就会挫败进度条的作用。我想要做的是把这个每个循环的每个迭代作为步骤部分中的一个匿名函数来处理。因此,最终目标是除了将每个已定义的函数作为一个步骤进行计数外,我的每个循环的每次迭代都将被计为一步如何执行此操作的任何想法?我试图把.each循环放在那里,但没有成功。
感谢您的帮助。