Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > show() и hide() в цикле, не получается


Автор: iPlay 23.11.2009, 23:35
Вообщем пытаюсь реализовать splash окна через show() и hide(), хотел сначала на флеше сделать потом решил на javascript тем более при наличии jQuery. Сделал вот так:
Код
  setTimeout(function() { $("#splash_1").show("slow") },1000); 
  setTimeout(function() { $("#splash_1").hide("slow") },10000);
  setTimeout(function() { $("#splash_2").show("slow") },11000); 
  setTimeout(function() { $("#splash_2").hide("slow") },21000);

Сплеши выводятся, всё отлично,но я бы хотел чтобы они постоянно повторялись на страничке, вечный цикл я так понял не пройдет. Возможно ли вообще так сделать?!

Автор: IDVsbruck 24.11.2009, 04:05
На кой использовать интервалы, когда ты пользуешься анимацией в jQuery? - Уже готовый механизм, а ты свое тулишь ...
jQuery не делает зацикливаний, так что можно пользоваться таким:
Код

function periodicalSplash1() {
    $("#splash_1").show("slow", function(){$(this).hide("slow", periodicalSplash2)});
}
function periodicalSplash2() {
    $("#splash_2").show("slow", function(){$(this).hide("slow", periodicalSplash1)});
}

Если нужно использовать цепочки, типа "показать-пауза-скрыть-пауза-показать-...", то в jQuery есть достаточно сложный механизм. Или проще: hide 1000, show 10000, show 1000, hide 10000, hide 1000 - следующий (прячем спрятанное на время, которое надо на паузу).

Автор: iPlay 24.11.2009, 11:03
Ок, спасибо. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)