Как запустить скрипт через определенный промежуток времени?
Опубликовано: 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 , Вебмастеру , для сайта