Эффект прототипа. Параллельный эквивалент в jQuery - PullRequest
2 голосов
/ 09 августа 2010

Я пытаюсь конвертировать плагин слайд-шоу Prototype в jQuery. Функция анимации довольно проста и интуитивно понятна: постепенное исчезновение видимого слайда, постепенное появление следующего слайда, обе анимации запускаются и останавливаются одновременно. Вот код прототипа, который я еще не полностью понял:

fadeInOut: function (a, b) {
    new Effect.Parallel(
        [
            new Effect.Fade(b, {sync: true}),
            new Effect.Appear(a, {sync: true})
        ], {
            duration: 1
        }
    );
}

Я написал этот эквивалент jQuery:

var anim = function (a, b) {
    // m_Locked = true
    a.fadeOut(1000);
    b.fadeIn(1000);
    // m_Locked = false
};

Мне интересно, что делает Effect.Parallel и существует ли эквивалент jQuery. Мне также нужно установить и очистить заблокированный флаг, который я буду использовать для отключения кнопок во время работы анимации ... это не работает.

1 Ответ

0 голосов
/ 09 августа 2010

Да, вы заинтересованы в jQuery.queue().

Каждый элемент может иметь от одной до многих очередей функций, прикрепленных к нему с помощью jQuery.В большинстве приложений используется только одна очередь (называемая fx).Очереди позволяют асинхронно вызывать последовательность действий для элемента, не останавливая выполнение программы.Типичным примером этого является вызов нескольких методов анимации для элемента.Например:

http://api.jquery.com/queue/

...