JavaScript - zdarzenia zależne od czasu, odliczanie ile czasu pozostało do danej daty
| DZIAŁANIE: |
Do 1 Stycznia 2012 pozostało : |
Kod:

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.