Как запустить скрипт через определенный промежуток времени?

Опубликовано: 01.09.2018

При создании сайтов бывают такие моменты, когда заказчик требует, чтобы скрипт запускался через определенное время, например, чтобы через 30 секунд появилось на сайте модальное всплывающее окно с акцией или еще какой-то ерундой.

Покажу простые примеры.

Функция setTimeout

setTimeout – это функция, которая запускает код единожды, через указанное вами время. Параметры задаются в миллисекундах, например, 1000 миллисекунд = 1 секунда.

Пример с использованием функции setTimeout:

<script> /** * Функция explode запустится через 5 секунд, после загрузки страницы * BlogGood.ru - заказать сайт **/ function explode(){ document.write("Привет, читатель блога BlogGood.ru"); } setTimeout(explode, 5000); //5000 это время, через которое нужно запустить функцию (5 секунд = 5000 миллисекунд) </script>

Строка №9 - значение « 5000 » – это время, через которое нужно запустить функцию (5 секунд = 5000 миллисекунд).

Функция explode() запустит все, что находится внутри скобок { код для выполнения} . В моем примере запустится строка №7 с текстом   «Привет, читатель блога BlogGood.ru» .

Функция setInterval

setInterval – это функция, которая запускает код постоянно с заданной вами периодичностью. Параметры задаются в миллисекундах, например, 1000 миллисекунд = 1 секунда.

Пример с использованием функции setInterval:

<script> /** * Функция explode будет запускаться каждые 5 секунд после загрузки страницы * BlogGood.ru - заказать сайт **/ function explode(){ document.write("Привет, читатель блога BlogGood.ru<br>"); } //Каждые 5000 миллисекунд запускается функция explode setInterval(explode, 5000); //5000 миллисекунд = 5 секунд </script>

Строка №10 - значение « 5000 » – это интервал времени, через который будет запускаться функция  (5 секунд = 5000 миллисекунд).

Функция explode() запустит все, что находится внутри скобок { код для выполнения} . В моем примере запустится строка №7 с текстом  «Привет, читатель блога BlogGood.ru» .

Это все хорошо, но как остановить функцию setInterval, ведь она будет запускать скрипт бесконечно. Для удаления интервала, используем   clearInterval() ;

Пример:

<script> /** * Функция explode будет запускаться каждую 1 секунду после загрузки страницы * BlogGood.ru - заказать сайт **/ var timeId = setInterval(function() { document.write("тик-так<br>"); }, 1000); // через 10 сек остановить повторы setTimeout(function() { clearInterval(timeId); // используем функцию clearInterval() document.write("БАБАХ!!!<br>"); }, 10000); </script>

Через 10 сек остановить повторы.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Последние новости категории:

Похожие статьи

Популярные статьи:

Добавить комментарий

Метки: javascript , Вебмастеру , для сайта

rss