我正在使用jquery load()加载多个项目。一切正常。

for(i = 0; i<item.length; i++){
   $( '#parent'+i).load('file'+i+'.html',function(){
       customFunctions();
   });
}


我的问题是,所有加载完成后,我需要运行customFunctions()。我上面的代码多次运行它。只有在所有文件加载完成后,我才能运行一次customFunctions()吗?

最佳答案

这是关于做出承诺,但您也可以这样做:

var all_loaded = 0;

for(var i = 0; i < item.length; i++){
   $( '#parent' + i).load('file' + i + '.html',function(){
      ++all_loaded == item.length && customFunctions();
   });
}

//++all_loaded: mean It is sum +1 when a file is loaded


因此,当all_loaded等于item.length时,该函数将在最后加载。

09-19 16:57