Разработка магазинов с гарантией попадания в ТОП поисковых систем

Узнать подробнее

Метод window.setTimeout()

Метод window.setTimeout() позволяет порождать потоки вычислений через определенные интервалы времени.

Звучит несколько непонятно?

Не переживайте, в этом уроке мы подробно разберем данный метод, который является очень мощным JavaScript инструментом.

window.setTimeout() — порождаем потоки вычислений.

Метод window.setTimeout() является одним из наиболее мощных и полезных методов во всем JavaScript.

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

a = setTimeout(«поток_кода»,время);

Не стоит переживать, если вам пока непонятен данный метод. Далее все встанет на сои места.

Давайте теперь рассмотрим пример, который поможет нам лучше понять принцип работы метода window.SetTimeOut():

<script>
var mark=0;
var circle;
function time()
{
if(mark==1)
{
d = new Date();
window.document.c.f.value = d.getHours()+»:»+d.getMinutes()+
«:»+d.getSeconds();
}
circle=setTimeout(«time();»,500);
}
function marks()
{
if(mark==0)
mark=1;
else mark=0;
}
</script>
<FORM NAME=c>
Текущее время:
<INPUT NAME=f size=8>
<INPUT TYPE=button VALUE=»старт/стоп» onClick=»marks();time();»>
</FORM>
Текущее время:

Итак, рассмотрим нашу программу более подробно:

Программа состоит из 2х функций, одна из которых ( time() ) порождает потоки времени, другая ( marks() ) отвечает за отображение времени на экране.

Функция time() проверяет значение переменной mark (значение которой, в свою очередь, может изменять функцияmarks() ) на равенство 1. Если она равна 1, то порождается поток времени при помощи функции date(). Но не важно, равна переменная mark 1 или не равна, в любом случае функция time() вызывает метод window.SetTimeOut() с параметрами:

setTimeout(«time();»,500);

То есть функция порождает себя заново с интервалом 500 мс, что позволяет ей всегда держать внутри переменной dсвежее значение времени.

Функция marks() является простейшей функцией, единственной задачей которой является изменение значения переменной mark с 0 на 1 и наоборот при каждом вызове.

Далее мы создаем простую форму, состоящую из текстового поля и кнопки, содержащей обработчик события OnClick:

onClick=»marks();time();»

Таким образом, нажимая на кнопку мы первым делом вызываем функцию marks(), которая изменяет значение mark, а за тем в бой идет основная функция – time(), которая и отвечает за вывод времени.

Нажав на кнопку повторно мы опять изменим значение mark, что повлияет на выполнение условия if внутри функцииtime(), показав или убрав время с экрана.