Javascript.RU

setInterval

Синтаксис

intervalID = window.setInterval(func|code, delay)

Аргументы

func|code
Функция или строка кода для выполнения
delay
Интервал в миллисекундах, т.е 1000 это 1 секунда

Описание, примеры

В отличие от метода setTimeout, setInterval выполняет код много раз, через равные промежутки времени, пока не будет остановлен при помощи clearInterval.

В каком виде указывать первый параметр - разницы нет.
При указании строки кода - динамически создается функция с телом code.

Следующие два вызова почти одинаковы:

// (1)
setInterval('alert("прошла секунда")', 1000) 

// (2)
function sec() { 
  alert("прошла секунда")
}
setInterval(sec, 1000) // использовать функцию

Но более правильным считается объявление функции в явном виде, например так:

setInterval(function() { alert(...) }, 1000)

Вызов со строкой существует для совместимости с прежними версиями javascript.

this

Функция выполняется в другом контексте, со значением this = window, поэтому о передаче правильного this надо позаботиться отдельно.

object = { 
   func: function() { alert(this) }
}

setInterval( object.func , 1000) // this будет равно window

// правильный вариант с передачей this
setInterval( function() { object.func.call(object) } , 1000)

Отмена выполнения

Вы можете отменить выполнение setInterval при помощи clearInterval, используя для этого идентификатор intervalID.

var intervalID = setInterval(...)
clearInterval(intervalID)

Автор: JSprog, дата: 16 августа, 2009 - 18:57
#permalink

Спасибо. Очень помогло.


Автор: Ramzess, дата: 19 сентября, 2009 - 22:42
#permalink

Я как-то писал программу, которая отсчитывает 60 секунд в обратном порядке.
Так вот, когда значение опускается до 56, интервал отсчёта составляет уже две секунды, потом 4, потом я сам со счёта сбился... В чём проблема, нужно парсить время отсчёта, или датить?


Автор: Гость (не зарегистрирован), дата: 2 ноября, 2009 - 11:39
#permalink

Недавно встретил эту функцию. Сам, только начал изучать веб-дизайн.


Автор: антигерой (не зарегистрирован), дата: 6 декабря, 2009 - 06:37
#permalink

Значение задержки ничуть не в милисекундах.

Счас вот гоняю цикл с НУЛЁВОЙ задержкой - а всёравно отрабатывается относительно медленно.

Немогу понять - в чём причина. Надо много быстрее чтобы работало.


Автор: Гость (не зарегистрирован), дата: 26 января, 2010 - 10:49
#permalink

Попробуй использовать setTimer(); мне помогает


Автор: Jamshiddin (не зарегистрирован), дата: 10 декабря, 2009 - 22:56
#permalink

Спасибо.


Автор: Прохожийй (не зарегистрирован), дата: 24 декабря, 2009 - 15:56
#permalink

Антигерой:
Значение в миллисекундах, просто возможности процессора
ограничены некоторым значением, обычно меньше 70 миллисекунд нет
смысла указывать.
PS. Сужу по опыту на C#.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 5 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Статьи и мероприятия

Будьте в курсе наших последних новостей!

Ответьте, пожалуйста..
О чем бы вы хотели услышать на конференции по javascript?

На какие темы послушать доклады? Конференция состоится в середине мая.


Последние обсуждения на форуме
Forum
Последние комментарии