Вот код, который сделает это:
HTML:
<div id="block1"></div>
<div id="block2"></div>
Javascript:
var shortIntervalTime = 2 * 1000;
var longIntervalTime = 5 * 1000;
function cycle(id) {
var nextId = (id == "block1") ? "block2": "block1";
$("#" + id)
.delay(shortIntervalTime)
.fadeIn(500)
.delay(longIntervalTime)
.fadeOut(500, function() {cycle(nextId)});
}
cycle("block1");
Вы можете установить интервал времени так, как вам нравится - я установил его здесь для демонстрационных целей. При этом используется последовательность эффектов jQuery, а затем по завершении последнего эффекта для данного объекта он снова начинает цикл для другого объекта и повторяется вечно.
Вы можете увидеть это здесь: http://jsfiddle.net/jfriend00/LTRzV/.