JavaScript - Funkce

Funkce je kousek skriptu, který můžete opakovaně vyvolávat. Funkce šetří čas a námahu.

Deklarace funkce

Kromě předem nastavených funkcí JavaScriptu, si můžete deklarovat své vlastní.

function napis(){
document.write("ahoj");
}

Klíčové slovo function deklaruje funkci (je povinný). Slovo napis je název funkce (názvy pište bez diakritiky). () uvádějí, zda se jedná o funkci s parametrem (viz dále), nebo bez (prázdné závorky) parametru. Složené závorky {} ohraničují tělo funkce. Kdykoli zavoláte tuto funkci skript vypíše "ahoj". To je výhodné pokud chcete zapsat "ahoj" desetkrát po sobě (ještě výhodnější je, když chcete zapsat dlouhý text).

Vyvolání funkce

Nyní jsme deklarovali funkci, ale teď ji použijeme:

napis();

Zapíšeme pouze název funkce a závorky. Skript vypíše "ahoj".

Funkce bez argumentu

Je již zmíněná funkce napis(), která nemá uvnitř závorek žádný argument.

Funkce s argumentem

A co když chci někdy napsat 'ahoj', jindy 'dobrý den' a jindy něco úplně jiného? Použijeme funkci s argumentem.

function napis(jmeno){
document.write(jmeno);
}
napis('dobrý večer'); //napíše dobrý večer
napis('ahoj'); //napíše ahoj

Deklarace je úplně stejná až na argument jmeno. Ten deklaruje proměnnou jmeno. Uvnitř funkce v metodě document.write() jsme nepoužili uvozovky, protože jmeno je proměnná. Potom jsme vyvolali funkci a jako její argument (hodnotu proměnné) jsme uvedli 'dobrý večer' a poté 'ahoj'. Ty byly přiřazeny k proměnné jmeno a následně zapsány. Argument, jde-li o textový řetězec, musíme při vyvolání funkce uvádět v uvozovkách. Jde-li o číslo, uvozovky nepíšeme. Touto funkcí suplujeme metodu document.write().

Funkce vracející hodnotu

Můžete také deklarovat funkci, která vrací hodnotu a s ní potom manipulovat jako s proměnnou:

function vrat(cislo){
return cislo/2
}
document.write(vrat(90)+"<br>");
document.write(vrat(90)/vrat(10));

Funkce vrat(); vrátí pomocí příkazu return výsledek cislo/2, tedy číslo dvakrát zmenšené. S danou funkcí lze potom nakládat jako s proměnnou.

Události

Když najedete myší na text, text změní barvu, když kliknete zmizí, kliknete myší a jiný text se objeví na obrazovce. Za tím vším stojí události, děje, které nastávají po akci návštěvníka stránky. Události se deklarují u značek HTML.

<script>
function napis(){
document.write("ahoj");
}
</script>
<input type="button" onClick="napis();" value="napiš ahoj" />

Nejprve jsme deklarovali funkci. Potom vložili tlačítko s popiskem 'napiš ahoj'. Atribut onClick="napis();" je událost, která označuje, že po kliknutí na tlačítko se má provést zvolená funkce.

Zapsání

Událost se zapisuje: jméno události="skript který se má zavolat;"

Seznam událostí

Událostí existuje mnoho.

UdálostPopis a [použití]
Klasické události
onAbortNastává po přerušení nahrávání obrázku, pouze pro [img]
onBlurNastává při aktivaci jiného prvku, např. při přechodu mezi okny
onChangeNastává při změně obsahu prvku, např. select u formulářů
onDblClickNastává při dvojitém kliknutí
onFocusNastává, když se prvek (okno, položka formuláře stane aktivním)
onKeyDownNastává při stisknutí libovolné klávesy klávesnice
onKeyPressStejné jako onKeyDown
onKeyUpNastává při uvolnění stisknuté klávesy
onLoadNastává při nahrání dokumentu [body][frameset]
onMouseDownNastáv, při stisku tlačítka myši
onMouseMovePři pohybu kurzoru
onMouseOutPři odjetí kurzoru z daného objektu
onMouseOverPři najetí kurzoru na objekt
onMouseUpPři uvolnění tlačítka myši
onResetPři vymazání formuláře [form]
onResizeZměna velikosti okna [frame][body][frameset]
onSelectPři zvýraznění, stisk [shift] a šipek, nebo vybrání myší
onSubmitPři odesílání formuláře [form]
onUnLoadPři ukončení prohlížení stránky [body][frameset]
Události podporované jen Microsoft Internet Explorer 4.0 a vyššími
onBackPři stisknutí tlačítka [ZPĚT]
onCopyPři kopírování do schránky [Ctrl+C]
onPastePři vkládání ze schránky [Ctrl+V]
onCutPři vyjmutí do schránky [Ctrl+X]
onForwardPři stisknutí tlačítka [VPŘED]
onHelpPři volání nápovědy, např [F1]
onMouseDragPři pohybu myši se stisknutým tlačítkem
onMouseWheelPři rolování kolečkem
onMovePři pohybu okna prohlížeče

Další: JavaScript - větvení
Zajímavost: Test událostí



Doporučuji
Pro své weby používám *Webhosting C4: 20 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 2 GB navíc každý rok). Více WebhostingC4.cz.
Potřebujete poradit?


Vyhledávání


Osobně doporučuji

Poradna

Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.

Reklama