2014-11-22 103 views
0
<script type='text/javascript'> 
function pageLoad(links,site) 
{ 
var links = links.split(","); 
for (i = 0; i < links.length; i++) { 
    var link = links[i] 
    $('#info'+(i+1)).html('Processing'); 
    setTimeout($.post( 
     "downloadlinks.php", 
     { link: link, site: site, iter:i}, 
     function(data) { 
      if(date == "ok") 
      { 
       $('#info'+(i+1)).html('Finished'); 
      }else 
      { 
       $('#info'+(i+1)).html('Failed'); 
      } 
     }), 10000); 
    } 
} 
</script> 

你好这是myy脚本我已经做了,但我不希望它在同一时间发布每一个传球,我需要它等到前一传球完了。做一个循环等待,直到先前的传球完成

我该怎么做?

马特

+0

如果你使用jQuery,请更新您的标签。 – j08691 2014-11-22 20:51:54

回答

0

使用递归的方式是这样的,而不是一个循环..

<script type='text/javascript'> 
function pageLoad(links,site) 
{ 
var links = links.split(","); 
var i=0; 
postNow(); 
function postNow() { 
    var link = links[i] 
    $('#info'+(i+1)).html('Processing'); 
    $.post( 
     "downloadlinks.php", 
     { link: link, site: site, iter:i}, 
     function(data) { 
      if(date == "ok") 
      { 
       $('#info'+(i+1)).html('Finished'); 
      }else 
      { 
       $('#info'+(i+1)).html('Failed'); 
      } 
      i++; 
      if (i<links.length){ 
       postNow(); 
      } 
     }); 
    } 
} 
</script> 
+0

我假设你正在使用setTimeout()来延迟循环并将其删除。 – 2014-11-22 21:00:20

相关问题