logo
JavaScript

</FORM>

Нужно иметь в виду, что поток порождается всегда, даже в том случае, когда часы стоят. Если бы он создавался только при значении переменной flag равном единице, то при значении 0 он исчез бы, тогда при нажатии на кнопку часы продолжали бы стоять.

2.5.8 window.clearTimeout

Метод clearTimeout( ) позволяет уничтожить поток, вызванный методом setTimeout( ). Очевидно, что его применение позволяет более эффективно распределять ресурсы вычислительной установки. Для того чтобы использовать этот метод в примере с часами, нам нужно модифицировать функции и форму:

Листинг 14.7

var idp1 = null;

function start()

{

d = new Date();

window.document.c1.f1.value =

d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();

idp1=setTimeout("start();",500);

}

function stop()

{

clearTimeout(idp1);idp1=null;

}

...

<FORM NAME=c1> Текущее время:

<INPUT NAME=f1 size=8>

<INPUT TYPE=button VALUE="Start"

onClick="if(idp1==null)start();">

<INPUT TYPE=button VALUE="Stop"

onClick="if(idp1!=null)stop();">