Kalendář v JavaScriptu
Kalendář do stránek můžete vytvořit např. pomocí ActiveX, ale ten bude chodit pouze v Internet Exploreru, což je v dnešní době, kdy má Netscape stále podíl kolem 8 procent, nepoužitelné. Jednou z dalších technologií, která vám bude fungovat ve všech moderních prohlížečích je JavaScript a dnešní článek vám ukáže, jak si v něm kalendář napsat.
Nejdříve si vytvoříme formulář s ovládacími prvky pro kalendář:
|
Formuláři pro naši demonstraci zakážeme odesílání pomocí onSubmit="return false;", jelikož novější verze obou hlavních prohlížečů odesílají formuláře na <ENTER>.
Hlavní funkcí v tomto scriptu je funkce setCalendar(dt), která nastavuje tlačítka. Jako parametr dostává datum. Touto funkci také inicializujeme jednotlivá tlačítka. Inicializaci provedeme pomocí onLoad="setCalendar(cDate);", které vložíme do sekce BODY. Hodnotu cDate získáme sejmutím stávajícího datumu.
|
Funkce si nejdříve z předaného datumu uloží do proměnných den, měsíc a rok pro pozdější použití. Dále si zjistí pořadí prvního dne v měsíce. To zjistíme pomocí metody getDay() objektu Date. Pak funkce vymaže obsah tlačítek pro jednotlivé dny a vypočítá posuv pro zobrazování. Tento posuv je nutný jelikož dny jsou indexovány od nuly a první den týdnu je chápán v US formátu, tj. jako neděle. Pak zavoláme funkci getDaysPerMonth s parametrem, kterým je stávající měsíc. Měsíce jsou opět indexovány od nuly. Tato metoda vrací počet dnů v měsíci a vypočítává délku února.
|
Potom nastavíme hodnoty tlačítek se dny. Dny s číslem menším než 10 zarovnáme zprava na nulu, aby byla všechna tlačítka stejně široká. Jelikož funkce setCalendar může být volána z více míst, pro jistotu nastavíme pulldown menu s měsíci na stávající a to samé provedeme s polem pro roky.
Funkce, která slouží pro změnu měsíce se jmenuje setNMonth a jako parametr dostává číslo měsíce. Funkce se aktivuje při změně měsíce v pulldown menu.
|
Obdobná funkce pro nastavení roku se jmenuje setNYear. Obsahuje navíc pouze kontrolu zda zadaný rok je číslo. Aktivuje se stiskem tlačítka "Rok".
|
No a aby náš script dělal i něco jiného než ukazoval kalendář, tak jednotlivá tlačítka reagují na událost onClick a posílají svoji hodnotu do funkce showDate, která zobrazí vybrané datum.
|
A nakonec nesmí chybět ani ukázka.
Kalendář by měl bez problémů fungovat od čtyřkových verzí prohlížečů nahoru, testováno v Internet Exploreru 5.0 a Netscape 4.75. A to je pro dnešek vše.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Jak vybrat doménu: Co je dobré vědět?
2. září 2024 -
AI na dosah ruky: Jak je to s AI v osobních zařízeních?
22. ledna 2024 -
10 nejpopulárnějších programovacích jazyků a jejich využití
9. listopadu 2023
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024