0

如何在每个循环结束时调用一次函数。

这会在每个循环上提醒“已完成”,我想要在循环完成时进行一次。

    $(function(){

      var imgArr=[];

      var lis = $('#gallery li')

      lis.each(function(){
        imgArr.push(this.outerHTML);
        $(this).remove();
        alertFun();
      })

      function alertFun(){
        alert('finished');
      }

    })
4

3 回答 3

2
function alertFun(){
  alert('finished');
}

lis.each(function(){
  imgArr.push(this.outerHTML);
  $(this).remove();
})

alertFun();

还是我错过了什么?

编辑:根据您的评论,我想我知道您现在来自哪里。

你为每个人提供一个回调函数。但是,不要将此与异步调用混淆。尽管您以与异步调用(例如ajaxor )相同的方式为每个调用提供回调,但animate该调用是同步的并按顺序执行。

还要记住这function alertFun(){ ... }是一个声明,而不是一个调用。

于 2012-11-26T17:04:40.237 回答
0

我可能会遗漏一些东西,但是:

$(function(){

  var imgArr=[];

  var lis = $('#gallery li');

  lis.each(function(){
    imgArr.push(this.outerHTML);
    $(this).remove();
  });

  alert('finished');//ta da

});
于 2012-11-26T17:04:42.873 回答
0
//Previous code

lis.each(function(){
  imgArr.push(this.outerHTML);
  $(this).remove();

})

alertFun();

function alertFun()...
于 2012-11-26T17:05:11.140 回答