Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2011, 00:30
Новичок на форуме
Отправить личное сообщение для Gorini4 Посмотреть профиль Найти все сообщения от Gorini4
 
Регистрация: 04.09.2011
Сообщений: 2

Задержка перед показом анимации
Всем привет! Буду благодарен за помощь в решении проблемы.
Использую в шапке сайта код, который поочередно показывает то блок с текстом, то gif-анимацию с интервалом в 6 секунд. Но почему-то перед первым показом происходит очень долгая задержка - ~18-20 секунд. В чем может быть проблема?
setInterval(function(){
	$('headAnimation').style.display = "none"; \\ Скрываем анимацию
	$('headText').style.display = "inline"; \\ Показываем текст
	setTimeout(function(){
		$('headAnimation').style.display = "inline"; \\ Ждем 6 сек. и меняем
		$('headText').style.display = "none";
	}, 6000);
}, 12000);
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2011, 00:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

function anim( nowait ){ 
    $('headAnimation').style.display = "none"; \\ Скрываем анимацию 
    $('headText').style.display = "inline"; \\ Показываем текст 
    setTimeout(function(){ 
        $('headAnimation').style.display = "inline"; \\ Ждем 6 сек. и меняем 
        $('headText').style.display = "none"; 
    }, nowait ? 1 : 6000); 
}
setInterval(anim, 12000);
anim( true );
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2011, 14:22
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Если словами, то setInterval делает первый вызов обработчика после числа миллисекунд, переданного вторым параметром, а не вызывает код в момент вызова и через заданные интервалы.

Получается, что у вас первое выполнение интервала идет через 12 секунд, потом объявляется таймер, который вызывает свой код еще через 6 секунд.
Ответить с цитированием
  #4 (permalink)  
Старый 05.09.2011, 02:37
Новичок на форуме
Отправить личное сообщение для Gorini4 Посмотреть профиль Найти все сообщения от Gorini4
 
Регистрация: 04.09.2011
Сообщений: 2

да, я тоже так подумал. продублировал исполняющийся код перед setInterval и задержки не стало. всем спасибо!)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение смещения в момент анимации. 0931454574 jQuery 6 13.05.2011 09:55
Задержка между анимациями jquery alexilin Общие вопросы Javascript 1 10.12.2010 13:39
Ротатор ,как сделать проверку перед показом? tom Общие вопросы Javascript 6 09.03.2010 15:20
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20
Порядок выполнения анимации Tohin jQuery 3 03.07.2009 11:52