Таймери на JavaScript

clock Една много силна страна на javascript е способността за задаване на интервал от време за извършване на необходимо действие или т.н. таймер. В езика са определени две функции за създаване на таймери:

  • setInterval() – изпълнява функция, отново и отново, през определен интервал;
  • setTimeOut() – изпълнява функция веднъж след като изчака определени милисекунди.

За създаването на намаляващ таймер на javascript са необходими няколко стъпки:

  1. Използваме функцията setTimeOut() и правиме часовник с интервал от 1000 милисекунди (1сек.).
    window.setTimeOut(“Tick()” , 1000);
    function Tick() {

    }
  2. Но след като Tick() е извикана, е необходимо таймерът да продължи. Затова отново викаме функцията в нейното тяло (callback) , като допълваме израза:window.setTimeOut(“Tick()” , 1000);
    function Tick() {
    window.setTimeOut(“Tick()” , 1000);
    }// това е основата на таймера
  3. Сега можеме да използваме таймера за каквото е необходимо.
  4. Нашият таймер трябва да спре на нула секунди, затова трябва да се добави оператор if за проверка на условие :if (TotalSeconds<=0) {
    alert(“Time’s up!”);
    return;
    }
  5. Следващата стъпка е да се конвертират секундите до секунди, минути, часове и може би дни. Използваме метод на обекта Math.
    Например минути:
    var minutes = Math.floor(seconds/60);
    seconds – = minutes*(60);
  6. Добавяме последно функция за по-добър изглед.function LeadingZero (Time) {
    return (Time<10)? “0” + Time : + Time;
    }

Часовникът вече изглежда така – 00:02:26 , вместо така – 0:2:26 .

Advertisements
This entry was posted in JavaScript. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s