2017-10-14 3 views
0

内部で一つずつを追加することができます私は、HTML出力に応答を操作しています.done()コールバックでのjQueryのAjaxを通り抜けるJSONレスポンス($.ajax) を持って

そう
.done(function(response) { 
    $.each(response, function(i, video) { 
     html = '<div class="col-lg-6">'+response.img+'</div>"; 
     $(html).appendTo('#myImages'); 
    })  
}) 

ので、上記のコードは完璧に動作しますが、私はacheiveしたい事は、私がイメージして、各divを表示する、である[#myImagesにVAR = HTMLを追加]若干のフェードイン効果の一つ一つ、どのように私はこれを追加することができます。私はsetTimeout機能でチェックしていましたが、それは私が望むように動作しません。

答えて

1

は、フェージングであなた以下試すことができるようにするには:

$(html).hide().appendTo('#myImages').fadeIn(1000); 

次に、あなたはシーケンスを構築したい場合は、それを行うにはいくつかの方法があり、ここでは最も単純な非同期/のawaitしてみてください:

async function render(item, delay) { 
    html = '<div class="col-lg-6">' + item.img + '</div>"; 
    $(html).hide().appendTo('#myImages').fadeIn(delay); 

    return new Promise(function(resolve){ 
    setTimeout(function() { 
     resolve(); 
    }, delay); 
    }) 
} 

.done(function(response) { 
    for(var i = 0; i < response.lenght; i++) { 
    try { 
     await render(response[i], 1000); 
    } 
    catch(err) { 
     console.log(err); 
    } 
    } 
}) 
+0

これはフェードイン効果をもたらし、すべての画像を一度に表示します。しかし、私は親のdivに各要素を追加するまでの間に遅れが必要なので、私は希望の効果を得ることを望む、別のもののように何かが表示される –

+0

@SalihKちょうど答えを更新... – dhilt

関連する問題