创建N个动画对象

时间:2012-01-07 10:58:54

标签: jquery jquery-animate delay intervals

我想通过jQuery创建一些隐藏的对象, (一次全部创建)slideDown()依次逐个。 我不希望第二个对象等待第一个完成 整个slideDown(),但它需要一定的延迟。

我的(不工作)代码如下:

$(document).ready(function() {

        var i = 3;

    var AnimFunc = function() {

        $('#container').append('<div id="elem_' + i + '>' + i + '</div>').hide().slideDown();
        --i;
        i == 0 ? clearInterval(startAnim) : null; // clear interval to prevent infinite loop

    }

    startAnim = setInterval(AnimFunc, 500); // 500 delay between slideDowns.

});

我想甚至可以在没有setInterval和clearInterval的情况下使用do / while。

我希望我的问题很清楚,有人可以帮助我。

谢谢, Knal

2 个答案:

答案 0 :(得分:1)

生成ID时,添加i后会丢失双引号 使用这个:'+ i +'“

答案 1 :(得分:0)

不确定我会尝试做什么,但也许就是这样:

var objectNumb = 10,
    speed = 1500;

$(document).ready(function() {
    for (var i=objectNumb; i>=1; i--) {
        $('#container').append('<div id="elem_'+i+'">'+i+'</div>').hide().delay(speed).slideDown(speed);
    }
});

FIDDLE