Циклическая синхронизация JQuery - PullRequest
3 голосов
/ 27 февраля 2011

Я определил два слайд-шоу по циклу JQuery ниже:

    $('#slideShow').cycle({
        fx: 'fade',
        timeout: 3000,
        speed: 2000,
        random: 1
    });

    $('#slideText').cycle({
        fx: 'blindZ',
        timeout: 3000,
        speed: 2000,
        random: 1
    });

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

  1. установить параметр тайм-аута равным 0 в цикле, чтобы гарантировать, что он не будет автоматически обновляться.
  2. использовать функцию setInterval с одинаковым интервалом для запуска каждого цикла.

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 27 февраля 2011

Пока вы запускаете два слайд-шоу одно за другим, все должно быть в порядке.Поскольку они имеют одинаковые тайм-ауты и запускаются вместе, они должны оставаться синхронизированными.

В противном случае вы можете сделать что-то вроде этого;

$('#slideShow').cycle({
    fx: 'fade',
    timeout: 3000,
    speed: 2000,
    random: 1,
    after: function(currSlideElement, nextSlideElement, options, forwardFlag) {
          $('#slideText').cycle('next');
    }
});

$('#slideText').cycle({
    fx: 'blindZ',
    timeout: 0,
    speed: 2000,
    random: 1
});

Второй слайд-шоу деактивирован, а первыйотправляет команду «следующий» после каждого изменения.

...