DOPORUČUJEME:    Poeta.cz, MůjCitát chcete tu mít svůj odkaz ?Web není v současnosti aktualizován
Zpět na index Můjscriptu
 Přiřazovací operátory   Řetězcové operátory   Speciální operátory   Pohyblivé menu  Článků: 95; Příkladů: 64
Právě nás čte 1 člověk
 Hlavní nabídka:
Základy
Základy
Proměnné
Funkce
Větvení
Dialogová okna
Cyklus
Události
Uživatelská okna
Datum a čas
Formuláře
Obrázky
Matematické funkce
Cookies
Kompatibilita
Reference
Základy
Objekty
Ostatní
Operátory
Příklady
1-5
6-10
11-15
16-20
21-25
26-30
31-35
36-40
41-45
46-50
51-55
56-60
61-65
Nastavit jako homepage Přidat k oblíbeným
 Podsekce MůjScriptu:
Tvůrčí tým
Napsali nám
Guestbook
 Náš Webtip:
Poeta.cz - server nejen o poezii
MůjCitát - server o citátech
 Nenechte si ujít:
Řešení nekompatibility na jedné stránce
Objekt navigator
Cookie manipulátor
Využití cookies ve formulářích
Počítadlo návštěv jednoho člověka na dané stránce
Faktoriál
Animace obrázků
Záměna více obrázků
Záměna dvou obrázků
Kontrola údajů ve formuláři
Přístup k prvkům formuláře pomocí pojmenování
Přístup k prvkům formuláře pomocí pořadových čísel
window.clearTimeout()
Načasování v JavaScriptu
Operace s časovými údaji
Datum a čas - začínáme
Stavový řádek
Vytvoření nové stránky
Ovládač události onDblClick
Ovládač události onClick
Ovládač události onUnLoad
Ovládač události onLoad
Příkaz continue
Příkaz break v cyklech
Příkaz for
Příkaz while
Příkaz do while
Vstupní okno
Potvrzovací okno
Výstražné informační okno
Logické operátory
Příkaz switch
Podmínka if else (2)
Podmínka ? :
Funkce - začínáme 2
Funkce - začínáme
Pole v praxi
Proměnné v praxi
Základní aritmetické operátory
Kam se scripty? Jaká je správná základní syntaxe JS?
JavaScript - co to je?
window.clearTimeout()

Další výhodou JS oproti HTML je možnost ukončení již probíhajícího procesu. Dnes si ukážeme jak na souhrnném příkladu.

V dnešním příkladu si zopakujeme již naučené prvky JS. Zaměříme se na zobrazování aktuálního času ve stavovém řádku:

<HTML>
<HEAD>
<TITLE>window.clearTimeout</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
zapnute_hodinky=false;

function zapni_hodinky()
{
dnes=new Date();

with (dnes) {
hodina=getHours();
minuta=getMinutes();
sekunda=getSeconds();
}

cas=hodina;
cas+=((minuta<10) ? ":0" : ":")+minuta;
cas+=((sekunda<10) ? ":0" : ":")+sekunda;
window.status=cas;
casovac=window.setTimeout("zapni_hodinky()",1000);
zapnute_hodinky=true;
}

function vypni_hodinky()
{
if (zapnute_hodinky)
{
window.clearTimeout(casovac);
window.status+=" (zobrazování času bylo zmraženo)";
zapnute_hodinky=false;
}
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" onClick="zapni_hodinky();" VALUE="Zapni hodinky">
<INPUT TYPE="button" onClick="vypni_hodinky();" VALUE="Zmraž hodinky">
</FORM>
</BODY>
</HTML>


Pro výsledek klikněte ZDE.

Vysvětlení činnosti:
Tento příklad je opravdu náročný na pochopení, proto věnujte vysvětlení činnosti pozornost. Než začneme psát jednotlivé funkce, kterými budeme (ne)zobrazovat aktuální čas ve stavovém řádku, přiřadíme proměnné zapnute_hodinky hodnotu false. Tuto proměnnou budeme dále využívat k zapnutí a vypnutí hodinek. Na začátku ji přiřazujeme hodnotu false, abychom hodiny neměli při načtení stránky puštěné. Teď už se pustíme do jednotlivých funkcí. Začneme funkcí zapni hodinky(). V ní jsme přiřadili proměnné dnes jako hodnotu objekt Date(), s kterým budeme dále pracovat. Nejdříve přiřadíme funkcím pro získání časových údajů jejich proměnné ekvivalenty (odpovídající proměné). Další proměnné odvíjející se od proměnné cas nám budou sloužit k vypsání času. Proto musíme toto zobrazení takzvaně ošetřit a to tak, že pomocí podmínkových výrazů nastavíme, aby při čísle nižším než deset zobrazil JS před číslici :0, při 10 a vyšším pak jen :. Tak dostaneme vzhled klasických hodin. Poté pomocí příkazu window.status zadáme vypsání proměnné cas, která obsahuje aktuální čas. Problém je v tom, že by se čas pouze zobrazil, ale "nehýbal by se". Proto použijeme konstrukci window.setTimeout(kód,čas), s kterou jsme se seznámili v předchozím článku. Té jako kód přiřadíme funkci zapni_hodinky() a čas (doba, po které se script aktualizuje) 1000 milisekund, tj. jedna sekunda. Hodiny pak budou plynulé. Konstrukci window.setTimeout jsme přiřadili jako hodnotu proměnné casovac, tak jsme přiřadili ukazatel (sekvence v ()) i této proměnné a v dalším zpracování to již nemusíme vypisovat. Následně jako poslední parametr této funkce přiřadíme proměnné zapnute_hodinky=true. Druhou funkcí je vypni_hodinky(). Té jsme přiřadili podmínku if(zapnute_hodinky), to znamená, že po aktivaci se spustí jen v případě, jestli byla předtím byla proměnná zapnute_hodinky na hodnotě true. To znamená, jestli předtím byla aktivní funkce zapni_hodinky(), protože ta přiřadila proměnné zapnute_hodinky hodnotu true. Jestli je tedy tato podmínka splněna nastane "zmražení" konstrukce window.setTimeout. To provedeme konstrukcí window.clearTimeout. Jako ukazatel (sekvence v ()) již použijeme jen proměnnou casovac (viz výše). Do statového řádku pak dáme jen vypsat text informující o zmražení hodinek a proměnné zapnute_hodinky opět přiřadíme hodnotu false. Další kod je už jen zobrazení dvou tlačítek pro zapnutí jednotlivých funkcí pomocí ovladače událostí onClick.

06.03.2002 | Datum a čas | David Havlíček
Dnes je 19. 05. 2024
Svátek má Ivo
 Kontakty na nás
ICQ: 108078007
muj-script@poeta.cz
mongi@centrum.cz
 Bleskové aktuality:
10.12.2002 Dlouho jsme tu neměli příklady, tak co kdybychom si dneska jeden dali?
07.12.2002 Poslední operáty, které si představíme, jsou speciální.
02.12.2002 Po delší pauze si představíme další operátory - řetězcové.
17.11.2002 Next operátory jsou přiřazovací.
10.11.2002 Jedněmi z posledních operátorů jsou porovnávací.
02.11.2002 Už jste slyšeli o logických operátorech? Pár jich taky je.
29.10.2002 Dalšími operátory jsou bitové.
26.10.2002 Dnes si představíme první z řady operátorů - aritmetické operátory.
24.10.2002 Další částí referencí jsou příkazy.
18.10.2002 Dnes se mrkneme na referenční přehled funkcí.
12.10.2002 Window je objekt, který má snad nejvíce metod a vlastností, tak se mu dnes podíváme na zoubek.
06.10.2002 Netradičně v neděli další objekt - string.
28.09.2002 Další sobota. Další objekt - screen.
21.09.2002 Hodně používáný je objekt navigator. Proto se na něj dneska zaměříme.
14.09.2002 Po týdenní pauze další referenční článek o objektu - tentokrát Math.
07.09.2002 Objekt location bude náš dnešní cíl.
04.09.2002 Na paškál si tentokrát vezmeme objekt history.
 Aktuální články:
Speciální operátory
Řetězcové operátory
Přiřazovací operátory
Porovnávací operátory

Copyright © 2001-2004 David Havlíček, design:Vít Dlouhý
Všechna práva vyhrazena (R)
Šíření článků, bez souhlasu redakce je výslovně zakázáno!