Javascript 仅在加载()后运行函数一次

Javascript 仅在加载()后运行函数一次,javascript,jquery,Javascript,Jquery,我正在使用jqueryload()加载多个项目。一切都很好 for(i = 0; i<item.length; i++){ $( '#parent'+i).load('file'+i+'.html',function(){ customFunctions(); }); } for(i=0;i是关于做出承诺,但你也可以这样做: var all_loaded = 0; for(var i = 0; i < item.length; i++){ $( '

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

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

for(i=0;i是关于做出承诺,但你也可以这样做:

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
var all_loaded=0;
对于(变量i=0;i

因此,当
all_loaded
等于
item.length
时,函数将在末尾加载。

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

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
for(var i = 0; i<item.length; i++){
   $( '#parent').load('file.html',function(){
      if(i==(item.length-1))
          customFunctions();
   });
}
var all_loaded=0;
对于(变量i=0;i

因此,当
all_loaded
等于
item.length
时,函数仅在末尾加载。

for(var i=0;i
for(var i=0;i在加载每个文件时添加计数器并更新它。当计数器的当前值等于要加载的文件总数时,请调用函数;

在加载每个文件时添加计数器并更新它。当计数器的当前值等于要加载的文件总数时,请调用函数;

T请注意:

for(var i = 0; i<item.length; i++){
   $( '#parent').load('file.html',function(){
      if(i==(item.length-1))
          customFunctions();
   });
}
只有在所有加载请求成功时,您的函数才会运行

var item={length:12};
runfunction=0;
对于(i=0;i试试这个:

只有在所有加载请求成功时,您的函数才会运行

var item={length:12};
runfunction=0;

对于(i=0;i有许多选择

您只需在循环中跟踪即可:

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

对于(i=0;i有许多选择

您只需在循环中跟踪即可:

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


for(i=0;i为什么不在
$(document).ready()的末尾调用它呢?@beckyy您发布的代码没有真正意义。您没有向服务器传递任何数据吗?否则,为什么要在for循环中调用完全相同的请求呢?@Varun谢谢,但这是在页面加载后触发的。因此
$(function(){}
将不起作用。您应该使用on检查所有请求是否已完成等待,您最好解释您的预期行为,而不是在
$(document).ready()结尾处调用它
?@beckyy您发布的代码没有真正意义。您没有向服务器传递任何数据吗?否则,为什么要在for循环中调用完全相同的请求?@Varun谢谢,但这是在页面加载后触发的。因此
$(function(){}
将不起作用。您应该使用on检查所有请求是否已完成等待,您最好解释您的预期行为,而不是解释
的目的loop@Becky我不是海报,但这是
if(++all_-loaded==item.length)customFunctions()的快捷方式;
@Becky相当于
如果(++all_loaded==item.length){customFunctions()}
@Becky简而言之,这是一种做事的方式。看到这个
++all_loaded
意味着它是一个变量的和+1。相当于:
all_loaded+=1
,但仍然没有解释
的作用loop@Becky我不是海报,但这是
if(++all_-loaded==item.length)customFunctions()的快捷方式
@Becky相当于
如果(++all_loaded==item.length){customFunctions()}
@Becky简而言之,这是一种做事的方式。看到这个
++all_loaded
意味着它是一个变量的和+1。相当于:
all_loaded+=1