Таймер и задержка в JS

В JS для работы с «планированием вызова» существуют два метода:

1

Позволяет вызывать функцию много раз, через определённый интервал времени:

setInterval(func, delay)

Где:

  • func – функция или строка кода для выполнения,
  • delay – интервал в миллисекундах (1000 = 1 секунда).

Стоит заметить, что вызываемая функция будет работать асинхронно.

Выполнение кода:

setInterval("alert('Прошла одна секунда');"}, 1000);
JS

Выполнение анонимной функции:

setInterval(function(){
	alert('Прошла одна секунда');
}, 1000);
JS

Вызов функции:

setInterval('showmessage', 1000);

function showmessage(){
	alert('Прошла одна секунда');
}
JS

Чтобы остановить setInterval применяется метод clearInterval(id).

var interval_id = setInterval(function(){
	alert('Прошла одна секунда');
}, 1000);

...

clearInterval(interval_id);
JS
2

Выполняет заданный код асинхронно только один раз, через заданный интервал времени.

Синтаксис:

setTimeout(func, delay)

Где:

  • func – функция или строка кода для выполнения,
  • delay – интервал в миллисекундах (1000 = 1 секунда).

Выполнение кода:

setTimeout("alert('1-секундная задержка прошла');", 1000);
JS

Выполнение анонимной функции:

setTimeout(function(){
	alert('1-секундная задержка прошла');
}, 1000);
JS

Вызов функции:

setTimeout(showmessage, 1000);

function showmessage(){
	alert('1-секундная задержка прошла');
}
JS

Также, метод setTimeout можно отменить с помощью метода clearTimeout(id).

var timeout_id = setTimeout(function(){
	alert('1-секундная задержка прошла');
}, 1000);

...

clearTimeout(timeout_id);
JS
19.09.2020, обновлено 17.11.2022
47788
#JS

Комментарии 2

Mira Studio Mira Studio
24 апреля 2022 в 01:17
А как просто сделать задержу без вызова фунцкии???
Мне нужна пауза в программе.
Кирилл Бажинов Кирилл Бажинов
3 июня 2022 в 14:53
Здравствуйте!
В примере "Отмены выполнения" раздела "Метод setInterval" случайно нет ошибки?
var timeout_id = setTimeout(function(){
	alert('1-секундная задержка прошла');
}, 1000);
 
...
 
clearTimeout(timeout_id);
У меня без function() выпадает в ошибку)

, чтобы добавить комментарий.

Другие публикации

Обновить страницу с помощью JS / HTML / PHP
Сборник методов для перезагрузки страницы или вкладки браузера.
130750
+6
Примеры отправки AJAX JQuery
AJAX позволяет отправить и получить данные без перезагрузки страницы. Например, делать проверку форм, подгружать контент и т.д. А функции JQuery значительно упрощают работу.
274161
+36
Графический редактор на Canvas и JS + PHP
Пример редактора тапа «Paint» с картинкой-подложкой, на которой можно рисовать мышью с последующей отправкой на сервер.
7606
+1
Перебор ячеек таблицы jQuery
Обойти ячейки таблицы можно с помощью jQuery метода each, например следующий код выводит текст из всех ячеек в консоль.
24226
+3
Как сгенерировать пароль на JS
Небольшая JavaScript функция для генерации пароля...
10531
+1
Переносы строк и тег BR в PHP
В PHP за перенос текста отвечают управляющие символы r (возврат каретки) и n (перевод строки), причем в разных операционных системах (на которых работает сервер) они применяются в разных комбинациях.
49315
+4