JavaScript - 4. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

JavaScript - 4. lekceJavaScript - 4. lekce

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

JavaScript - 4. lekce

Google       Google       22. 1. 2006       29 066×

  • Funkce pokročileji
  • Přehled událostí

Reklama
Reklama

Funkce

V předchozí lekci jsem vám lehce nastínil jak se dá použít v JavaScriptu funkce. V tomto pokračování zabrousíme hlouběji do problematiky funkcí. Funkce je zpravidla sada několika po sobě jdoucích příkazů (pokud by byl jeden, nemá téměř smysl v praxi takovou funkci vytvářet), které se postupně vykonají při volání funkce. Funkce může dostal, ale také nemusí nějaké vstupní hodnoty. Tyto hodnoty označujeme jako parametry funkce a jedná se o hodnoty z "vnějšího prostředí", se kterými se potom pracuje uvnitř funkce. Naše příkladová funkce z minulé lekce obsahovala právě jeden parametr. V dalším příkladu je ukázka funkce o dvou parametrech. Fungovat by to mělo následovně - po stisku tlačítka se do divu s identifikátorem, který předáme jako první parametr, zobrazí obrázek, jehož pozici předáme jako druhý parametr.


<head>
  <script language="JavaScript" type="text/javascript">
    function zobrazObrazek(divid,obr) {
      var div = document.getElementById(divid);
      div.innerHTML = "<img src=\"" + obr + "\" alt=\"\" />";
    }
  </script>
</head>
<body>
  <input type="button" onClick="zobrazObrazek('div1','obr/obrazek.png');" value="zobrazit" />
  <div id="div1"></div>
</body>

Popíšem si tedy průběh funkce. Po její inicializaci se do proměnné div uloží "cesta" k obsahu divu s identifkátorem, který byl zadán jako parametr při volání funkce. Klíčové slovo document značí objekt celého dokumentu, ve kterém skript pracuje, ale o objektech si řekneme více až v pozdějších lekcích. Dále následuje úsek getElementById() a pokud máte alespon základní znalost angličtiny, zajisté víte co tato funkce (metoda objektu document) bude dělat - najde si v dokumentu element s identifikátorem, který byl předán jako parametr při volání funkce (v našem případě "div1"). Tímto elemntem nemusí být pouze div, ale jakýkoliv tag s přiřazeným identifikátorem. Na druhém řádku přidáváme vlastnost innerHTML, která říká, že se bude pracovat s obsahem (doslovný překlad - vnitřní HTML). V druhém řádku funkce dále už jen určujeme, jakou hodnotu element dostane (v tomto příkladu obrázek, přičemž jeho cestu vkládáme jako druhý parametr funkce).

Druhý příklad

Do hlavičky zapisujeme:


<script language="JavaScript" type="text/javascript">
  function zmena() {
    document.all.text.style.color="red";
  }
</script>

A do těla dokumentu:


<span id="text">Text, který se po stisku tlačítka změní.</span>
<input type="button" onclick="zmena();" value="Změň barvu">

Račte si sami zkusit i druhý příklad:

Text, kterému se změní barva.

Vysvětlení nejasností:

  • input - tagem input zahajujeme zápis každého tlačítka, kolonky atd. Značí, že daný objekt vkládáme do stránky.
  • button - říká, že chceme zobrazit tlačítko
  • value - zbrazuje na tlačítku text, v našem případě "Stiskni" a "Změň barvu"

Přehled událostí

Událost Stane se při:
onmouseover najetí kurzorem na objekt
onmouseout odjetí kurzoru z objektu
onclick kliknutí na tlačítko myši
ondblclick dvojitém kliknutí na tlačítko myši
onmousedown stisku tlačítka myši
onmouseup uvolnění tlačítka myši
onmousedrag pohybu myší se stisknutým tlačítkem
onmousewheel rolování kolečkem
onmousemove pohybu myší
onkeydown stisku libovolné klávesy
onkeyup uvlonění libovolné klávesy
onback stisknutí tlačítka zpět v prohlížeči
onfoward stisnutí tlačítka vpřed v prohlížeči
onload nahrávání dokumentu
onunload zavření dokumentu
onmove pohybu s oknem prohlížeče

Úkol

Vytvořte stránku, kde bude nějaký text a vedle něj tlačítko. Když na tlačítko zmáčknete jednou, musí se barva textu změnit na zelenou, když zmáčknete na tlačítko dvakrát, musí se barva textu změnit na žlutou.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Tagy:
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Tomáš BobekAutor je designérem stránek (2D grafika), ovládá jazyky HTML, CSS, PHP, JavaScript a zajímá se o programování v Javě.Krom programujte.com se podílí na projektech maths.cz (jako redaktor a grafik), ceskewebstudio.cz (jako designér) a webber.cz (jako JavaScript scriptař). Ostatní volný čas rád tráví s přáteli nebo sportuje (tenis, nohejbal, hokejbal, závodně fotbal).
Web     Twitter     Facebook    

Nové články

Obrázek ke článku Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Celkem 66 % uživatelů zajímá rozšířená realita v oblasti gamingu. Mezi nimi je i 35 % těch, kteří jinak hry nehrají.
Pro téměř 50 % respondentů by bylo zajímavé zapojení virtuální objektů do reálného světa. Objekty by zůstaly tam, kde je při hře „umístili“.
Až 43 % uživatelů láká využití rozšířené reality ve sportu

Reklama
Reklama
Obrázek ke článku Instalace nejnovější verze Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached na Windows 10

Instalace nejnovější verze Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached na Windows 10

Buďte při vývoji efektivní! Pomocí tohoto návodu během chvíle vytvoříte ze svého počítače lokální webový server. Vyzbrojíte jej vším, co budete při práci potřebovat: Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached. Je to plná polní pro webové vývojáře s Windows 10. Navíc poradíme, jak mít na localhostu více projektů pomocí VirtualHost.

Obrázek ke článku Do poskytovatele managed hostingových služeb vshosting~ vstupují zahraniční investoři

Do poskytovatele managed hostingových služeb vshosting~ vstupují zahraniční investoři

Po více než roce jednání do vshosting~ vstoupili 3 investiční skupiny z Německa: Pecunalta, BrainWeb Investment a Quines Capital. Jde o investiční skupiny, které mají účast na projektech jako PlusServer (největší managed provider v Německu a jeden z největších v Evropě), PLESK, cPanel, CloudLinux, GoDaddy (největší světový hostingový poskytovatel z USA), či Acronis, pomohou vshosting~ v jeho plánované mezinárodní expanzi na další zahraniční trhy. Ve vshosting~ nyní drží 75% podíl, zbylých 25 % zůstává zakladatelům vshosting~, kterými jsou Damir Špoljarič (CEO) a Jan Martinů (CTO).

Obrázek ke článku Posuňte své znalosti IT na výrazně vyšší úroveň

Posuňte své znalosti IT na výrazně vyšší úroveň

Zájem o IT odborníky je v současnosti v tuzemsku i v zahraničí enormní a vedení firem si moc dobře uvědomuje, jak těžké je získat ty správné. I přesto, že je odborníků na trhu dlouhodobý nedostatek, stále platí, že část z nich je - a bude - placena výrazně lépe než ti ostatní. Proč tedy nebýt mezi nimi?

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý