jquery fadein递归-如何检测完成并运行回调

jquery fadein递归-如何检测完成并运行回调,jquery,Jquery,我需要在以下递归完成后运行回调: function fade_day_div() { $("div#day").first().fadeIn("slow", function showNext() { $(this).next("#day").fadeIn("fast", showNext); }); }; 我可以在此处使用延迟对象吗?此处无需使用延迟对象,仅此: function fade_day_div() { $("div#day").first(

我需要在以下递归完成后运行回调:

function fade_day_div() { 
    $("div#day").first().fadeIn("slow", function showNext() {
        $(this).next("#day").fadeIn("fast", showNext);
    });
};

我可以在此处使用延迟对象吗?

此处无需使用延迟对象,仅此:

function fade_day_div() { 
  $("div#day").first().fadeIn("slow", function showNext() {
     var $next = $(this).next("#day");
     if($next.length > 0) {
         $next.fadeIn("fast", showNext);
     } else {
         ... your callback here ...
     }
  });
};
promise().done()可能是这里的诀窍(尽管对于递归我不确定)

也许行,也许不行。取决于它在递归中的嵌套方式

function fade_day_div() { 
    $("div#day").first().fadeIn("slow", function showNext() {
        $(this).next("#day").fadeIn("fast", showNext).promise().done(function(){
               //Callback code here
        });
    });
};