× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

JavaScript - 3. lekce

[ http://programujte.com/profil/1100-tomas-bobek/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       19. 1. 2006       27 337×

Události a funkce.

Události

Události reagují na akce konané uživatelem anebo internetovým prohlížečem. Uživatel například vykoná akci tím, že klikne kurzorem myši na určitou část na stránce, což můžeme zaznamenat událostí onClick, a reagovat na tuto akci skriptem. K internetovému prohlížeči se vztahují události jako je například onLoad (vykoná skript po načtení stránky). Podrobnější přehled událostí naleznete v příští lekci. Událost používáme jako atribut elementu, ke kterému se bude vztahovat. Srozumitelnější to bude z příkladu.

Do tagu <a> (odkaz) přidáme atribut onMouseOver, který obsahuje skript pro zavolání okna alert, což zaručí, že po přejetí odkazu kurzorem myši vyskočí právě okno alert s definovaným upozorněním.

<a href="stranka.htm" onMouseOver="alert('Test onMouseOver')">Odkaz</a>

Můžete si to sami vyzkoušet → Odkaz.

Cílem druhého příkladu je vytvořit tabulku, ve které se bude měnit pozadí jednotlivých řádků po najetí na ně myší a po opuštění se vrátí do původního stavu. Změnu můžeme definovat přímo v události pomocí objektu style, ale já jsem zvolil příjemnější metodu, kdy si vytvoříte 2 CSS třídy, které se ve vztahu s událostí budou pouze u daného elementu měnit.

<html>
  <head>
    <title>Titul</title>
    <style>
      .bila {background-color:"white"}
      .zluta {background-color:"yellow"}
    </style>
  </head>
  <body>
    <table border="2px">
      <tr class="bila" onMouseOver="this.className='zluta'" onMouseOut="this.className='bila'">
        <td>buňka</td>
        <td>buňka</td>
      </tr>
      <tr class="bila" onMouseOver="this.className='zluta'" onMouseOut="this.className='bila'">
        <td>buňka</td>
        <td>buňka</td>
      </tr>
    </table>
  </body>
</html>

Poznatky

  • V mnoha případech je potřeba používat styly, buď předem definované do tříd, nebo měněné pomocí objektu style
  • onmouseover – událost po nejetí kurzoru myši na objekt
  • onmouseout – událost po odjetí kurzoru myši z objektu
  • this – tento příkaz říká skriptu, že se bude manipulovat právě s elementem, ve kterém je obsažen
  • className – definuje změnu použité třídy na element

Funkce

Funkce jsou pro JavaScript velmi důležité a budete se s nimi setkávat pořád. Použít funkci je výhodné v případě, že potřebujete aplikovat určité příkazy na více místech. Například potřebujete zjistit u několika inputů (textová pole), zdali obsahuje každý nějaké určité slovo. Proto si definujete jednu funkci, která se skládá z klíčového slova function, dále názvu funkce, vstupních hodnot a těla funkce, kde je definováno, co bude dělat. V této lekci vám ukážu základní podobu funkce na příkladu, kdy funkce vypíše pokaždé po zavolání stejný text, ve kterém se bude měnit akorát vstupní hodnota.

Do hlavičky stránky zapíšeme:

<script language="JavaScript" type="text/javascript">
 function text(jmeno){
  document.write("Rád tě tu zase vidím, ");
  document.write(jmeno);
 }
</script>

A do těla stránky následující:

<script language="JavaScript" type="text/javascript">
 text("Pepo.");
 text("Mařenko.");
 text("Frantíku.")
</script>

Výsledkem je:

Rád tě tu zase vidím, Pepo.
Rád tě tu zase vidím, Mařenko.
Rád tě tu zase vidím, Frantíku.

Poznatky

  • function – klíčové slovo, říká, že se jedná o funkci
  • text – název funkce
  • (jmeno) – v závorce za názvem funkce jsou ony vstupní údaje (nemusí tam být, pokud funkce nepracuje s nějakými externími daty)
  • text("Pepo."); – vlastní volání funkce, prvně se píše název funkce, kterou voláme, a do závorky vstupní údaje pro tuto volanou funkci

Úkol

Napište mi kód, kde bude výsledkem: "Sekačka značky Mountfield má vysoký počet otáček. Sekačka značky neznámé má vysoký počet otáček." Slova 'Mountfield' a 'neznámé' budou hodnotami funkce (proměnnými), ostatní text bude funkcí. Pod to udělejte odkaz, který bude házet alert po odjetí kurzoru myši.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005123005-javascript-3-lekce/ ].