JavaScript -- 8 -- Pár praktických skriptov

Chcete oživiť svoje stránky jednoduchými a efektnými skriptmi? Jednoduchý návod ako zobraziť čas v stavovom riadku alebo v titulku prehliadača..

26.8.2004 10:00 | Rišo Marko | přečteno 25458×

Trocha teórie :)

Stavový riadok prehliadača

Je to prvok (objekt), ktorý je podradený objektu window. O objektoch bude reč v ďalších dieloch seriálu preto je teraz potrebné vedieť, že do stavového riadku je možné zapisovať dvomi spôsobmi:

window.Status = 'Vitajte na Linuxsoft.cz'

window.defaultStatus = 'Welcome on Linuxsoft.cz'

Ako môžte vidieť je to veľmi jednoduché a takétok objekty sa správajú ako premenné - čiže jednoduchým priradením (=) do nich môžete zapisovať (podobne aj čítať ako z premennej). Rozdiel medzi týmito dvom metódami by mal spočívať v tom, že pokiaľ nastavujete defaultStatus text touto metódou nastavený by sa mal znovu nastaviť späť i pokiaľ prejdete cez odkaz. Zaujímavé je, to isté dosiahnete aj pomocou jednoduchého zápisu status.

Titulok stránky

Ten istý titulok, ktorý nastavujeme pomocou tagov <title></title> v hlavičke stránky. Zapisuje sa doňho podobne ako pri statusbare ale existuje len jeden spôsob zápisu s tým rozdielom, objetk title je podradený objektum document.

document.title = 'Linuxsoft.cz best for Linux'

Pri tomto zápise treba dať pozor lebo vám nebude fungovať pokiaľ nebude mať "fyzicky" zapísaný titulok v hlavičke!!

Čas a dátum

Práca s časom a dátum nieje v ničom veľmi zložitá - základom je objekt Date:

var datum = new Date();

V tomto zapíse bol uložený do premennej datum. Teraz obsahuje niečo ako Fri, 20 Aug 2004 8:10:21 GMT+0200 čo nám toho veľa nepovie preto existujú funkcie na prácu s dátumom.

Metóda Význam
getDate() Vracia ďeň v mesiaci (1-31).
getDay() Vracia ďeň v týždni (0-6, kde 0=neďeľa).
getMonth() Vracia mesiac (0-11).
getYear() Vracia rok
getFullYear() Vracia rok v kompletnej štvormiestnej podobe.
getHours() Vracia hodiny (0-23).
getMinutes() Vracia minúty (0-59).
getSeconds() Vracia sekundy (0-59).
getTime() Vracia počet sekúnd, ktoré ubehly od Unixovej epochy.

Pomocou týchto funkcií si vytvoríme vlastnú funkciu, ktorá nám vráti čas v pre nás vhodnom formáte.

function cas() {
var datum = new Date();
sec = datum.getSeconds();
// prostredníctvom dátumu uložíme do premennej sekundy
hr = datum.getHours();
// hodiny
min = datum.getMinutes();
// a minúty
return hr+':'+min+':'+sec; }

No takáto funkcia sa nestará o to ako vyzerá ten čas, ktorý vráti a preto ten treba upraviť do čitateľnej podoby tým, že pred čísla pridáme nuly.

function cas() {
var datum = new Date();
sec = datum.getSeconds();
// prostredníctvom dátumu uložíme do premennej sekundy
hr = datum.getHours();
// hodiny
min = datum.getMinutes();
// a minúty


if (min <= "9")
{min = "0"+min;}
// pokiaľ je hodnota minút jednociferné číslo, pridáme pred ňu nulu
if (sec <= "9")
{sec = "0"+sec;}
// to isté platí i pre sekundy
if (hr <= "9")
{hr = "0"+hr;}
// a tiež pre hodiny
return hr+':'+min+':'+sec;
}

Takto upravená funkcia vracia prekne upravený dátum pripravený na použite.

Finálny skript

Teraz už iba stačí všetky tieto prvky pospájať dokopy a máme efektný skript pre naše stránky.

<script type = "text/javascript">
function cas() {
var datum = new Date();
sec = datum.getSeconds();
// prostredníctvom dátumu uložíme do premennej sekundy
hr = datum.getHours();
// hodiny
min = datum.getMinutes();
// a minúty


if (min <= "9")
{min = "0"+min;}
// pokiaľ je hodnota minút jednociferné číslo, pridáme pred ňu nulu
if (sec <= "9")
{sec = "0"+sec;}
// to isté platí i pre sekundy
if (hr <= "9")
{hr = "0"+hr;}
// a tiež pre hodiny
return hr+':'+min+':'+sec;
}
function vypis() {
document.title = 'Linuxsoft.cz best for Linux ::::: Teraz je '+cas();
window.status = 'Vitajte na Linuxsoft.cz ::::: '+cas();
}
vypis();
</script>

No takýto skript predsa len stále nieje dokonalý i keď funguje bezchybne ale čas stojí. Proste sa nehýbe.. A takýto čas veľmi efektný nieje. Preto je potrebné vytvoriť time delay alebo časový interval, ktorý bude funkciu volať opakovane v určitom intervale. Docielime to iba jednoduchou úpravou skriptu.

<script type = "text/javascript">
function cas() {
var datum = new Date();
sec = datum.getSeconds();
// prostredníctvom dátumu uložíme do premennej sekundy
hr = datum.getHours();
// hodiny
min = datum.getMinutes();
// a minúty


if (min <= "9")
{min = "0"+min;}
// pokiaľ je hodnota minút jednociferné číslo, pridáme pred ňu nulu
if (sec <= "9")
{sec = "0"+sec;}
// to isté platí i pre sekundy
if (hr <= "9")
{hr = "0"+hr;}
// a tiež pre hodiny
return hr+':'+min+':'+sec;
}
function vypis() {
document.title = 'Linuxsoft.cz best for Linux ::::: Teraz je '+cas();
window.status = 'Vitajte na Linuxsoft.cz ::::: '+cas();
var timeout = setTimeout("vypis()", 1000);
// zariadime opätovné volánie funkcie každú sekundu
}
vypis();
</script>

To bolo pre tento diel všetko. Enjoy!

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=313