【问题标题】:How to have Asynchronous call in each loop for FadeIn and Fadeout如何在 FadeIn 和 Fadeout 的每个循环中进行异步调用
【发布时间】:2014-03-28 04:49:31
【问题描述】:

如何在淡入淡出的每个循环中进行异步调用?

我想淡入然后淡出一里然后去下一里;但显然每个循环都使它同步!我该如何处理这个问题?

$("#intro li").hide();


var $li = $("#intro li");

$li.each(function(){
    $(this).fadeIn(2000,function(){
     $(this).fadeOut(2000);

    });
})

JSFIDDLE

我发现了我的问题:

Solved Demo

谢谢

【问题讨论】:

    标签: jquery


    【解决方案1】:

    尝试使用递归,

    $("#intro li").hide();
    
    var $li = $("#intro li");
    
    animateLi($li.first());
    
    function animateLi(li){
      if(!li.length){ return }
    
      li.fadeIn(2000,function(){
         li.fadeOut(2000,function(){ animateLi(li.next('li')) });
      });
    }
    

    DEMO

    【讨论】:

    • 这是一个好方法,但我想应该有一种方法可以使 for each 循环也异步!
    • @Rajaprabhu 但它在最后一个 li 之后停止,OP 需要前一个 li 应该在 DOM 中
    • @SridharR 哦..我明白了..然后我们通过使用中断 if 语句中的第一个 li 来调用它。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    相关资源
    最近更新 更多