一次一个地淡化附加元素

时间:2013-02-01 17:21:13

标签: javascript jquery

我有一个带ID的数组,我正在从另一个页面加载带有这些ID的元素。

    $.each(idArr, function() {
        var divline = '<div class="line" id="' + this + '">';
        var url = 'allitems.php #' + this + ' div';
        $('#the-list').append($(divline).load(url).hide().fadeIn());
    });

它工作正常,但我希望加载的元素一次淡入一个,或者至少不是所有att一次。我无法弄清楚如何在我的代码中使用.delay。或者可能有另一种方式?

谢谢:)

3 个答案:

答案 0 :(得分:1)

一个简单的解决方案是使用setTimeout

$.each(idArr, function(i) {
    var divline = '<div class="line" id="' + this + '">';
    var url = 'allitems.php #' + this + ' div';
    setTimeout(function(){
        $('#the-list').append($(divline).load(url).hide().fadeIn());
    }, i*1000);
});

答案 1 :(得分:1)

尝试这种方式:

$(".elements").each(function(i, e) { $(e).delay(i * 400).fadeIn(400); });

答案 2 :(得分:1)

$.each(idArr, function(i,el) {
    var divline =  $('<div />', {'class':'line', id: el}),
        url = 'allitems.php #' + el + ' div';
    $('#the-list').append(divline.load(url).hide().delay(i*1000).fadeIn());
});