Strona główna kursu

JavaScript - zdarzenia zależne od czasu, odliczanie ile czasu pozostało do danej daty

DZIAŁANIE:

Do 1 Stycznia 2012 pozostało :


dni
godzin
minut
sekund
 

Kod:

Kurs JavaScript, Kurs Ajax, Kurs PHP

Ewentualne Objaśnienia:

Kolejny ciekawy przykład, obrazujący tym razem nie ile czasu minęło od danego momentu, a ile jeszcze czasu pozostało do danej daty.
Funkcja odpowiadająca za obliczenia i wyświetlanie jest ładowana wraz ze stroną (body).

Na początku ustalamy sobie jakąś przyszłą datę - tworzymy obiekt typu Date i do jego konstruktora przesyłamy datę o jaką nam chodzi (EST oznacza strefę czasową). Pierwsza napisana funkcja służy generalnie do tego co już znacie, czyli do wpisania 0 w momencie kiedy jej przekazany argument jest mniejszy od 10.

No i najistotniejsza jest nasza druga funkcja :
- pod zmienną form przypisujemy sobie ścieżkę do naszego formularza w dokumencie, aby prościej potem używać tylko form a nie całej ścieżki
- tworzymy sobie zmienną z datą obecną oraz obliczamy różnicę między datą przyszłą a obecną, pierw w milisekundach, potem dzielenie przez 1000 daje nam sekundy. Wszystko to jest zaokrąglone w dół poprzez Math.floor .
- jeśli byłoby tak, że nasza przyszła data już przeminęła to nasza różnica będzie równa zero lub tez mniejsza od 0, wtedy w polach formularza wyświetlają się po prostu kreseczki
- do podzielenia naszego czasu w sekundach używamy operatora modulo - % który zwraca nam resztę z dzielenia. Przykładowo 6 podzielone przez 4 daje nam 1 i 2 reszty . Obliczanie/dzielenie czasu w sekundach na sekundy, minuty, godziny itd. przedstawione tutaj to standardowa metoda, nie będę tego dokładnie tłumaczył (robiłem to w kursie PHP). Zalecam jednak dokładnie sobie przestudiować działanie tego, to na pewno kiedyś się Ci przyda
- po wpisaniu obliczonych wartości do formularza, wywoływana jest ponownie (co pół sekundy) nasza funkcja.