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 se chránit před podvody na internetu – část 2
14. října 2024 -
Jak nainstalovat šablonu ve WordPressu
23. července 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024