Задержка перед показом анимации
Всем привет! Буду благодарен за помощь в решении проблемы.
Использую в шапке сайта код, который поочередно показывает то блок с текстом, то 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, время: 03:39. |