Я думаю, что вы ищете немного другой подход, что-то вроде этого:
$(function() {
var images = ['#page1_image', '#page2_image', '#page3_image'], i = 0;
function rotate() {
$(images[i]).fadeOut(10000);
i = (i+1)%images.length;
$(images[i]).fadeIn(10000, rotate);
}
$.each(images.slice(1), function(index, val) { $(val).hide(); });
rotate();
});
Попробуйте здесь , если вы плавно не плавно вернетесь к первому изображению, ваша анимация будет иметь скачок, когда цикл зациклится. Вышеуказанное плавно исчезает непрерывно и работает для любого количества элементов, через которое вы хотите перейти, просто добавьте их селекторы в массив.
Компоненты:
- Настройка массива селекторов на исчезновение ... вы можете даже кэшировать селекторы здесь, если они не идентификаторы, это хорошая идея, а не строки.
- Поворот затухает в текущем, получает следующее (при необходимости оборачивая) и затухает,
.fadeIn()
снова вызовет rotate
, когда это будет сделано.
- Последнее, что мы скрываем все изображения, кроме первого (через
.slice()
) и запуска цикла.