AJAX загрузка
home

В JavaScript код может выполняться по расписанию.

Выполнение кода по расписанию.

В JavaScript код может выполняться по расписанию например, Вы можете задать, чтобы код функции начал выполняться только через 30 секунд после ее вызова.

Для выполнения кода по расписанию в JavaScript предусмотрено два специальных метода:

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

Пример

<body onload='start()'>
<script type=text/javascript >
//Зададим функцию start, которая будет вызвана после полной загрузки документа
function start(){
   //Создадим переменную с текстом, который будет выведен на страницу
   txt='Данный текст будет отображен через 3 секунды после полной загрузки 
   документа.';
   //Выведем на страницу текст через 3 секунды после загрузки документа
   setTimeout('document.write(txt)',3000);
}
</script>
</body>

setInterval(код,промежуток_времени) позволяет выполнять код через заданный промежуток_времени бесконечное количество раз.

Пример

<body onload='start()'>
<p id='text1'>Здесь будет отображено текущее время</p> 

<script type=text/javascript >
//Зададим функцию time, которая будет выводить текущее время в абзац 
//с id=text1
function time(){
   //Определим текущее время
   var dat = new Date();
   var hour=dat.getHours();
   var min=dat.getMinutes();
   var sec=dat.getSeconds();
   tim=hour+':'+min+':'+sec;
   //Выведем текущее время в абзац с id=text1
   document.getElementById('text1').innerHTML=tim;
}
/* Функция start будет запущена после полной загрузки документа и будет 
вызывать функцию time через каждую секунду */
function start(){
   id=setInterval('time()',1000);
}
</script>
</body>

Остановка кода вызванного по расписанию

Методы setTimeout() и setInterval() после их запуска возвращают идентификатор вызова.

Используя этот идентификатор и методы clearTimeout() и clearInterval() Вы можете остановить выполнение кода вызванного по расписанию.

С помощью clearTimeout(идентификатор_вызова) Вы можете остановить выполнение кода вызванного методом setTimeout().

Пример

<body onload='time()'>
<p id='text1'>Здесь будет отображено время</p>
<input type=button value='Стоп' onclick='stop()' />
<script type=text/javascript > 
/* Зададим функцию time, которая будет вызывается после полной загрузки документа и будет 
выводить текущее время в абзац с id=text1 */
function time(){
   //Определим текущее время
   var dat = new Date();
   var hour=dat.getHours();
   var min=dat.getMinutes();
   var sec=dat.getSeconds();
   tim=hour+':'+min+':'+sec;
   //Выведем текущее время в абзац с id=text1
   document.getElementById('text1').innerHTML=tim;
   /* Вызовем данную функцию снова через 1 секунду и сохраним идентификатор вызова в 
   переменную id */
   id=setTimeout('time()',1000);
}
// С помощью функции stop Вы можете остановить выполнение кода 
function stop() {
   //Остановим функцию с помощью идентификатора id
   clearTimeout(id);
}
</script>
</body>

С помощью clearInterval(идентификатор_вызова) Вы можете остановить выполнение кода вызванного методом setInterval().

Пример

<body onload='start()'>
<p id='text1'>Здесь будет отображено время</p>
<input type=button value='Стоп' onclick='stop()' />
<script type=text/javascript > 
/* Зададим функцию time которая будет вызывается после полной загрузки документа и будет 
выводить текущее время в абзац с id=text1 */
function time(){
   //Определим текущее время
   var dat = new Date();
   var hour=dat.getHours();
   var min=dat.getMinutes();
   var sec=dat.getSeconds();
   tim=hour+':'+min+':'+sec;
   //Выведем текущее время в абзац с id=text1
   document.getElementById('text1').innerHTML=tim;
}
/* Функция start будет вызвана после полной загрузки страницы и будет вызывать функцию
time() каждую секунду */
function start(){
   /* Вызываем функцию time каждую секунду сохраняя при этом идентификатор вызова в 
   переменную id */
   id=setInterval('time()',1000);
}
/* С помощью функции stop Вы можете остановить выполнение кода */
function stop(){
   //Используя идентификатор вызова остановим функцию
   clearInterval(id);
}
</script>
</body>