Задержка перед показом анимации
Всем привет! Буду благодарен за помощь в решении проблемы.
Использую в шапке сайта код, который поочередно показывает то блок с текстом, то 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);
|
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 );
|
Если словами, то setInterval делает первый вызов обработчика после числа миллисекунд, переданного вторым параметром, а не вызывает код в момент вызова и через заданные интервалы.
Получается, что у вас первое выполнение интервала идет через 12 секунд, потом объявляется таймер, который вызывает свой код еще через 6 секунд. |
да, я тоже так подумал. продублировал исполняющийся код перед setInterval и задержки не стало. всем спасибо!)
|
| Часовой пояс GMT +3, время: 09:38. |