Показать сообщение отдельно
  #2 (permalink)  
Старый 07.07.2008, 15:37
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Если вы устанавливаете setTimeout(func, t), то через t миллисекунд выполнится функция func() один раз. Если вы устанавливаете setInterval(func, t), то каждые t миллисекунд будет выполняться функция func. Что бы не вернула функция func() интервал не остановится (если конечно нет критического исключения), остановить интервал можно используя функцию clearInterval.

Параметр func должен быть ссылкой на функцию или строкой с вызовом, так что форма записи setTimeout(func(), t) и setInterval(func(), t) - неверная, насколько я понимаю. Вы можете самостоятельно это проверить запустив, например, такой код:
function a() {
    alert(1);
}

setTimeout(a(), 10000000);


Правильно писать либо setInterval(func, t), либо setInterval("func()", t), либо setInterval(function() {func()}, t). И тоже самое справедливо и для setTimeout.

Последний раз редактировалось Андрей Параничев, 07.07.2008 в 16:15.
Ответить с цитированием