2010-08-09 2 views
2

Я пытаюсь преобразовать плагин слайд-шоу Prototype в jQuery. Функция анимации довольно проста: интуитивно понятный: затухающий видимый слайд, постепенный переход в следующий слайд, обе анимации начинаются и останавливаются одновременно. Вот код прототипа, который я до сих пор в полной мере понять:Эффект прототипа. Параллельный эквивалент в 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 эквивалент. Мне также нужно установить и очистить заблокированный флаг, который я буду использовать для отключения кнопок во время работы анимации ... это, похоже, не работает.

ответ

0

Да, вас интересует jQuery.queue().

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

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

+0

Хм, как я могу добавить анимацию к каждому из двух элементов и положить их вместе в одной очереди? –