一次淡入附加元素一个

Fading in appended elements one at a time

本文关键字:元素 一个 淡入 一次      更新时间:2023-09-26

我有一个带有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());
    });

它工作正常,但我希望加载的元素一次淡入一个,或者至少不是全部淡入一次。我不知道如何在我的代码中使用 .delay。还是有别的办法?

谢谢:)

$.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());
});

一个简单的解决方案是使用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);
});

试试这个方式:

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