Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

JS двойная задержка

325
12 декабря 2006 года
Franky
723 / / 10.08.2005
Весь уже извелся с этой задачей, может кто подскажет...
Исходник вот.
Код:
<html>
<head>
<script language="javascript">
var swappic = new Array();
delay=1500;
i=0;
endswap='false';

function swappict(timer)
{
i=i-0;
if (i==swappic.length) i=0;
document.pic.src='scr/'+swappic+'.gif';
q=setTimeout("swappict(timer)", delay);
i++;

if (timer<time())
{
clearTimeout(q);
endswap='true';
alert('Script mess. end at: '+time());
}
}

function time()
{
today1 = new Date();
ms = 1000;
tim=Math.round(today1.getTime()/ms);
return tim;
}
</script>
</head>
<body>

<img src="pic/l_empty.gif" name="pic" border=0 width="100" height="100">

<script language="javascript">
swappic = Array("face1","face2","face3","face2");
timer=time()+4;

[color=red]swappict(timer);[/color]

if (endswap=='true')
alert('end at: '+time());
</script>

</body>
</html>

Вопрос: как приостановить выполнение основного скрипта или еще что-то сделать чтобы по окончании выполнения функции выполнились бы условия, которые идут ПОСЛЕ вызова функции?
"if (endswap=='true') alert('end at: '+time());"
Т.е. выполнить условия по прошествии 4-х секунд (timer=time()+4;), на время которых выполняются действия из функции "swappict(timer);".
Проблема в том, что setTimeout вызывается один раз.
12
13 декабря 2006 года
alekciy
3.0K / / 13.12.2005
Цитата: Franky

Вопрос: как приостановить выполнение основного скрипта


Ни как.

Цитата: Franky

или еще что-то сделать чтобы по окончании выполнения функции выполнились бы условия, которые идут ПОСЛЕ вызова функции?
"if (endswap=='true') alert('end at: '+time());"
Т.е. выполнить условия по прошествии 4-х секунд (timer=time()+4;), на время которых выполняются действия из функции "swappict(timer);".
Проблема в том, что setTimeout вызывается один раз.


Если нужны действия которые должны быть выполнены с отсрочкой, то пихай их в функцию и уже из setTimeout вызывай эту функцию. А притормозить действия в основном скрипте ни как нельзя и это абсолютно правильно.
См. http://forum.codenet.ru/showthread.php?t=32150

325
13 декабря 2006 года
Franky
723 / / 10.08.2005
спасибо! Еще раз убедился, что поиск рулит :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог