Создать N анимированных объектов - PullRequest
1 голос
/ 07 января 2012

Я хочу создать несколько скрытых объектов с помощью jQuery, которые (после того, как все они созданы) 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.

});

Полагаю, это возможно даже с помощью do / while без setInterval и clearInterval.

Надеюсь, мой вопрос ясен, и кто-то сможет мне помочь.

Спасибо, Кнал

Ответы [ 2 ]

1 голос
/ 07 января 2012

когда вы генерируете идентификатор, вы теряете двойную кавычку после добавления i
используйте это: '+ i +' "

0 голосов
/ 07 января 2012

Не уверен, что я понимаю, что вы пытаетесь сделать, но, может быть, это что-то вроде этого:

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

...