I can offer this solution to your problem.
HTML
<div class="text"> <div class="a"><img src="href"> <p>text</p> </div> <div class="a"><img src="href"> <p>text</p> </div> <div class="a"><img src="href"> <p>text</p> </div> </div>
Js
$(document).ready(function() { $('.text .a').eq(0).addClass('active').fadeIn(1000);// Показываем первый блок, можно и не первый, если прописать нужную цифру в eq() setInterval('blockAnimate();', 5000);// Вызываем функцию для смены блока каждые 5 секунд }); // Функция для смены блоков, показывает блоки по очереди, начальный блок задаётся выше function blockAnimate() { var length = $('.text .a').length - 1; $('.text .a').each(function(index) { if($(this).hasClass('active') && index != length) { $(this).removeClass('active').fadeOut(1000).next('.a').addClass('active').fadeIn(1000); return false; } else if (index == length) { $(this).removeClass('active').fadeOut(1000); $('.text .a').eq(0).addClass('active').fadeIn(1000); return false; } }); };
CSS
.a { position: absolute; display: none; }