Skripta ke školení. Autor: Tomáš Herout Telefon: (+420)

Podobné dokumenty
Tvorba klientských skriptů v jazyce Java Script

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

JavaScript 101. "Trocha života do statických stránek"

Inovace bakalářského studijního oboru Aplikovaná chemie

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP tutoriál (základy PHP snadno a rychle)

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Programování v jazyce JavaScript

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Tabulkový procesor. Základní rysy

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Algoritmizace a programování

Formuláře. Aby nám mohli uživatelé něco hezného napsat třeba co si o nás myslí!

Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide.

Základy HTML. Autor: Palito

(X)HTML, CSS a jquery

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

<!DOCTYPE html> <html lang="cs"> <head> <meta charset="utf-8" /> <title>název stránky v titulkovém pruhu prohlížeče</title> </head>

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Stručný návod k programu Octave

ANOTACE vytvořených/inovovaných materiálů

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Javascript. Javascript - jazyk

Programování v jazyce JavaScript

Základy HTML, URL, HTTP, druhy skriptování, formuláře

NSWI096 - INTERNET JavaScript

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

13. Skriptovací jazyk PHP

Sada 1 - PHP. 03. Proměnné, konstanty

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Textové, datumové a časové funkce

VISUAL BASIC. Práce se soubory

Access. Tabulky. Vytvoření tabulky

Formuláře. Internetové publikování. Formuláře - příklad

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

HTML - Úvod. Zpracoval: Petr Lasák

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

Semestrální práce 2 znakový strom

Mgr. et Mgr. Jan Petrov, LL.M. Ph.D. BYZNYS A PRÁVO

ČERV. Hra Červ je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

DUM 06 téma: Tvorba makra pomocí VBA

Tvorba webových stránek

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

C2110 Operační systém UNIX a základy programování

Programování v jazyce JavaScript

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

Vstupní požadavky, doporučení a metodické pokyny

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

Skripty - úvod. Linux - skripty 2

PROGRAMOVÁNÍ V SHELLU

Dotazy tvorba nových polí (vypočítané pole)

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Výčtový typ strana 67

jquery - úvod Zdroj: Jiří Zralý:

DATABÁZE MS ACCESS 2010

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

Fiktivní firma. Žáci získají základní informace o přípravě a tvorbě webových stránek. Na konci prezentace je úkol, se kterým žáci samostatně pracují.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Printris. Hra Printris je psána pomocí příkazů Javascriptu a standardních příkazů HTML.

Algoritmizace a programování

KIV/ZIS cvičení 5. Tomáš Potužák

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Jednoduché příkazy jazyka Pascal

Microsoft Office. Excel vlastní formát buněk

Nápověda k aplikaci EA Script Engine

Čtvrtek 11. dubna. Základy HTML. Obecná syntaxe HTML. Struktura HTML

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

1. Téma 03 - Rozhodování

43 HTML šablony. Záložka Šablony v systému

Imagine práce se seznamy (stručný manuál)

AUTOMATICKÉ ZÁLOHOVÁNÍ DATABÁZE PRO SQL Express 2005

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

24 Uživatelské výběry

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Software602 Form Designer

Sada 1 - Základy programování

6 Příkazy řízení toku

2. cvičení z ZI1 - Excel

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Zadání soutěžních úloh

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

VYHLEDÁVACÍ BANNER PRO WEBOVÉ STRÁNKY

MODERNÍ WEB SNADNO A RYCHLE

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Transkript:

Skripta ke školení Autor: Tomáš Herout E-mail: herout@helpmark.cz Telefon: (+420) 739 719 548 2018

Obsah Velice stručná definice, co je to JavaScript... 2 Pravidla zápisu JavaScriptu (syntax)... 3 Základní stavební kameny JavaScriptu... 5 alert()... 5 confirm()... 5 document.write()... 5 var promenna... 5 var pole... 6 if else if else... 6 switch... 8 for cyklus... 8 do while cyklus... 8 Math matematické operace... 9 random generátor náhodného čísla... 10 Date práce s datumem a časem... 10 function zabalení JS kódu... 11 settimeout spustit v nastaveném čase... 12 Spouštění JavaScriptu v praxi... 13 Vyhledání HTML elementů v dokumentu... 13 Spuštění na událost... 15 Stránka 1 z 15

Tato skripta slouží jako podklad pro školení začátečníků. Nečiní si ambice stát se plnohodnotnou učebnicí JavaScriptu a rozhodně neobsahují vše o JavaScriptu. Obsahují to, co považuji za důležité pro zvládnutí JavaScriptu od úplných základů. Pro hlubší studium doporučuji některou ze standardních učebnic. Velice stručná definice, co je to JavaScript JavaScript je jazyk, kterým můžete dávat pokyny vašemu internetovému prohlížeči (Chrome, Firefox ), aby něco dělal. Může provádět třeba animace, kontrolu polí formuláře před odesláním, výpočty ve webové kalkulačce, zasílat a přijímat od serveru data, měnit obsah stránky bez nutnosti načítat HTML a mnoho dalšího. Kód JavaScriptu se stahuje do počítače návštěvníka spolu s HTML a dalšími kódy, jako je třeba CSS. Neplést si JavaScript a Java. Java je něco zcela jiného. Ukázka vložení JavaScriptu do HTML dokumentu: <!DOCTYPE html> <html> <head> <script>... </script> </head> <body>... </body> </html> JavaScript většinou pracuje s HTML kódem a s CSS. Proto znalost HTML a CSS je pro zvládnutí JavaScriptu nezbytná. Soubory JavaScriptu mají příponu *.js. Je možné je otevřít v libovolném textovém editoru. Kód bude ale nepřehledný, proto je lepší zvolit nějaký vhodnější nástroj, třeba Notepad++, PSPad nebo Aptana. PSPad zobrazí barevně jednotlivé části kódu pro lepší přehlednost. Aptana také, ale ještě toho umí daleko více, třeba našeptat kód. Stránka 2 z 15

Pravidla zápisu JavaScriptu (syntax) Každý příkaz se odděluje středníkem. Mezery, tabulátory neznamenají ukončení příkazu, používají se jen z důvodu přehlednosti kódu. <script> var promenna = 'Ahoj'; alert(promenna); </script> Vysvětlení: První a posední řádek jen označují v HTML kódu vložený JavaScript. Druhý řádek vytváří proměnnou s názvem proměnná a hodnotou Ahoj. Středník na konci řádku ukončuje příkaz. Třetí řádek vytváří další příkaz, který zajistí zobrazení okna s textem proměnné, tedy Ahoj. Hodnoty se ukládají do apostrofů nebo uvozovek. V příkladu výše to již bylo vidět na řetězci Ahoj. V příkladu byly použity apostrofy, ale stejně tak dobře by posloužili i uvozovky. Rozdíl je v tom, že uvnitř apostrofů není problém použít uvozovky nikoli jako příkaz JavaScriptu, ale prostě jako textové uvozovky. Pozor rozdíl je u čísel. Pokud chcete čísla používat jako počitatelná čísla (sčítat je, odčítat ), tak se uvádějí bez uvozovek nebo apostrofů. Zápis '1' znamená, že číslo již nebude počitatelné. Zápis '1' + '1' vrátí jako výsledek 11. Ke spojování dvou a více hodnot se používá znaménko +. To už bylo nakousnuto v předchozím odstavci. Znaménko + může mít matematický význam, ale u textových řetězců je prostě spojí k sobě, a to bez mezery. Kulaté závorky () pro předávání hodnot. Kulaté závorky jde v JavaScriptu používat stejně, jako v matematice. Ale mají navíc další funkci, kterou jste viděli hned v prvním příkladu alert(promenna); U příkazu alert jsme do kulatých závorek vložili hodnotu, kterou chceme zobrazit ve varovném okně internetového prohlížeče. Více se o kulatých závorkách dozvíte u funkcí. Složené závorky { pro ohraničení kódu. Nejlépe to bude vidět na příkladu:... if(promenna > 2){ alert(promenna); Kulaté závorky předávají hodnotu k posouzení, zda je to pravda, či nikoli. Příkaz if se používá právě k tomuto posuzování. V případě, že promenna opravdu bude větší, než 2, tak se vykoná to, co je ve složených závorkách. Složené závorky tedy ohraničují kusy kódu. Stránka 3 z 15

Význam tečky při zápisu v JS. document.getelementbyid('hlavni-menu'); Tečky mají při zápisu v JavaScriptu speciální význam. Pokusíme se to vysvětlit na příkladu, kdy JS kód výše, se snaží vyhledat nějaký prvek který by mohl v HTML kódu vypadat třeba takto:... <div id="hlavni-menu">... </div> Zápis: document.getelementbyid('hlavni-menu'); říká, že nejprve hledáme v dokumentu HTML (document) a uvnitř něj hledáme id (getelementbyid). Tečka nám tedy v Javascriptu říká, že hledáme něco vnořeného uvnitř. Pozor! Tečka může mít samozřejmě i jiné významy v závislosti na jejím použití. Tečkou se určuje desetinné místo při zápisu čísel, takže polovinu zapíšeme jako 0.5. Význam tečky v URL adresách už je poměrně známý. V regulárních výrazech má zase tečka význam zástupného symbolu za jakýkoli znak. Stránka 4 z 15

alert() Základní stavební kameny JavaScriptu Internetové prohlížeče na něj reagují tak, že zobrazí varovné okno. Do tohoto okna mohou vypsat hodnotu uloženou do závorek. To je velice užitečné, pokud si vývojář chce třeba ověřit, co má v určitém místě kódu uložené do proměnné. Dalším použití je test, zda určitý kus kódu vůbec je čten prohlížečem. Původní určení je pro chybové hlášky a samozřejmě i za tímto účelem je možné ho použít, ale nevypadá to zrovna elegantně. Pozor! Při zobrazení okna se zastaví veškerý ostatní kód, který je pod alert(). confirm() Tak, jako alert() i confirm() zobrazí okno v prohlížeči. Rozdíl je ale v tom, že návštěvníkovi webu nabídne navíc i možnost potvrdit, případně stornovat. Tvůrci kódu se to hodí v případě, pokud si do proměnné převezme výsledek. Pokud návštěvník klikne na [OK], pak dostanete do proměnné pravda. Při kliknutí na [Zrušit] dostanete nepravda. Zastavení kódu platí stejně jako u alert(). document.write() Umí do HTML kódu tam, kde se tento JavaScript nachází, vypsat obsah umístěný do kulatých závorek. var promenna Slouží k ukládání hodnot do paměti. Tou hodnotou může být: číslo, text (tzv. textový řetězec), pravdivostní hodnota (pravda nebo nepravda). Zápisy čísel do proměnných: var číslo = 1.5; Zápisy textů do proměnných: var text = 'Jakýkoli text i číslo 1, ale jen jako text'; Spojování proměnných pomocí znaménka +: var spojeni = text + ' a text za ním'; Zjištění počtu znaků v řetězci var promenna = 'zjistíme délku'; alert(promenna.length); // vrátí číslovku 14 Stránka 5 z 15

var pole Pole (anglicky array ) je vlastně balíček více proměnných. V praxi ho můžete použít třeba jako nějaký seznam o určitém množství položek, jejichž počet ale dopředu programátor nezná. Jednotlivé položky v poli mají vždy své pořadí, které se ale počítá od čísla 0 (nula). Položky však mohou mít i názvy, pokud jim tyto názvy určíte. U polí jsou klíčové hranaté závorky [ ]. Jeden z druhů zápisu pole var pole = ['nultá položka', 'první položka', 'druhá položka']; Způsob vložení položky s názvem var pole['nazev'] = ['hodnota']; Zjištění délky pole pomocí length var pole = ['nultá položka', 'první položka', 'druhá položka']; alert(pole.length); // vrátí číslovku 3 Abecední seřazení prvků v poli var pole = ['Karel', 'Franta', 'Pepa']; pole.sort(); alert(pole); // vrátí pole abecedně setříděné if else if else Slouží k rozhodování podle určitých kritérií. Mohli bychom to také přirovnat k rozcestí, případně odbočce. Za if do kulatých závorek se píší podmínky. Např.: if(1>0). Tato podmínka je pravdivá, proto se vykoná to, co je ve složených závorkách. Takto postavená podmínka samozřejmě nedává smysl, ale pro pochopení je výmluvná. Jednoduchý příklad, kdy otestujeme, zda proměnná existuje. Pokud ano vypíšeme ji do okna. Pokud existovat nebude, nestane se nic: if(promenna > 0){ alert('je větší, než nula'); složitější příklad, testu, zda proměnná existuje. Pokud ano vypíše ji. Pokud ne, oznámí absenci proměnné. if(promenna > 0){ alert('je větší, než nula'); else{ alert('není větší, než nula nebo je rovna nule'); Stránka 6 z 15

Komplexní příklad zde, kdy předchozí kód zjistí zvolené pohlaví. JavaScript pak otestuje více variant: if(volba_pohlavi == 'muz') { alert('ahoj chlape'); else if(volba_pohlavi == 'zena'){ alert('dobrý den, dámo'); else{ alert('zdravím tě, věci'); Podmínky můžete i spojovat. Ukázka nutnosti splnit dvě podmínky současně: if(promenna == 1 && promenna2 == 2) { // kód Ukázka potřeby splnit alespoň jednu z možností: if(promenna == 1 promenna == 2) { // kód Tabulka operátorů používaných v podmínkách Operátor Ukázka Popis == x==y Pravda, jestliže x a y jsou stejné === x===y Pravda, jestliže x a y jsou stejné a mají i stejný typ (např. číslo)!= x!=y Pravda, jestliže x a y nejsou stejné > x>y Pravda, jestliže x je větší, než y >= x>=y Pravda, jestliže x je větší nebo rovno y Stránka 7 z 15

switch Má podobou funkci jako if. Rozdíl je v tom, že nemá možnost podmínky skládat. Jeho značná výhoda se projeví v okamžiku více možností výběru podmínky. Ukázka zapsání switch switch (promena){ case 'Karel': // kód; case 'Václav': // kód; case 'Petr': // kód; default: // kód v případě, že žádná z možností nebyla pravda; for cyklus Cykly slouží k opakování nějakých kódů. Často se používají ke zpracování polí, ale mohou se používat i k jiným účelům. U cyklů je důležité, že vždy musejí mít okamžik, kdy cyklus skončí. Nelze je tedy používat například pro nekonečné střídání obrázků. Ukázka vypsání pole v cyklu for var pole = ['pondělí', 'úterý', 'středa']; for( neco in pole ){ document.write(pole[neco]); Ukázka cyklu for mimo pole for( i = 1; i <= 10; i++ ){ document.write(i); do while cyklus Cyklus, který stejně jako for provádí zadané operace tak dlouho, dokud je zapotřebí. Rozdíl je v tom, že operaci proveden minimálně jednou i když podmínka není splněna. Cyklus for totiž tuto vlastnost nedokáže. Stránka 8 z 15

Praktická ukázka vypsání pole pomocí do while var pole = ['Karel', 'Václav', 'František']; var opakovani_cyklu = 0; do { if( pole.length > 0){ document.write(pole[opakovani_cyklu]); else{ document.write('je nám to líto, ale žádná osoba nenalezena'); opakovani_cyklu++; while( opakovani_cyklu < pole.length ) Math matematické operace Javascript umí používat matematické operandy, jakým je plus +, mínus -, krát, děleno /. Navíc JS umí ++, které číslo navýší o jednu a naopak - - jež funguje opačně. Při práci s čísli ale někdy potřebujeme i další matematické operace, jako např.: Math.round zaokrouhlení matematické Math.round(4.7); // vrátí 5 Math.round(4.4); // vrátí 4 Math.floor zaokrouhlení vždy dolů Math.floor(4.7); // vrátí 4 Math.floor(4.4); // vrátí 4 Math.ceil zaokrouhlení vždy nahoru Math.ceil(4.7); // vrátí 5 Math.ceil(4.4); // vrátí 5 Math.abs vrátí absolutní hodnotu Math.abs(4); // vrátí 4 Math.abs(-4); // vrátí 4 Math.pow vypočítá mocninu z čísla Math.pow(8, 2); // vrátí 64 Stránka 9 z 15

Math.sqrt vypočítá odmocninu Math.pow(64); // vrátí 8 Math.sin vypočítá sinus Math.sin(1); // vrátí 0.8414709848078965 Math.cos vypočítá cosinus Math.cos(1); // vrátí 0.5403023058681398 Math.tan vypočítá tangent Math.tan(1); // vrátí 1.5574077246549023 random generátor náhodného čísla V jakémkoli programování je někdy zapotřebí vygenerovat náhodné číslo např. pro zvolení náhodného obrázku v animaci. K tomuto účelu slouží v JavaScriptu random(), který umí vygenerovat číslo mezi 0 až 1. Tedy např. číslo 0.4887240220650442. Příklad generování čísla mezi 1 až 10 Math.floor((Math.random() * 10) + 1); Příklad generování čísla mezi 5 až 15 Math.floor((Math.random() * 11) + 5); Date práce s datumem a časem Datum a čas je leckdy potřeba i v JavaScriptu. Proto se podíváme, jak s datumem pracovat. Příklad vypsání aktuálního datumu a času document.write( Date() ); Příklad vypsání jen číslovky dne document.write( new Date().getDate() ); Stránka 10 z 15

Tabulka s některými metodami objektu Date getdate() Den v měsíci (1-31) getday() Číslo dne. 0 = neděle, 1 = pondělí, 6 = sobota getmonth() Číslo měsíce (0-11) pozor o jedno nižší getfullyear() Rok (např. 2018) gethours() Hodina (0-23) getminutes() Minuty (0-59) getseconds() Sekundy (0-59) getmilliseconds() Milisekundy (0-999) gettime() Počet milisekund od 1. 1. 1970 function zabalení JS kódu Funkce se používají k zabalení výše popsaných JavaScriptových kódů. Proč nějaké kódy balit? Důvodů může být víc, ale mezi ty hlavní patří přehlednost, lepší strukturovatelnost a v neposlední řadě možnost spustit kód ve správný okamžik, klidně i opakovaně, pokud to je třeba. Jak se funkce vytvářejí function nazev(){ alert("nějaká informace"); Při tvorbě funkce je klíčové slovo function. Pak následuje název, který si můžete volit dle svého uvážení. Zvykem bývá, že funkce začíná malým písmenem, ale nedodržením tohoto pravidla se nic nestane. Za názvem musí následovat kulaté závorky, byť by měly být prázdné. Je do závorek je ale možné vložit nějaké hodnoty (proměnné nebo pole) a přenést je do funkce. Ukázka zavolání funkce i s předáním argumentu function nazev(pormenna){ alert(pormenna); var promenna = 1; nazev(promenna); Stránka 11 z 15

settimeout spustit v nastaveném čase JavaScript se často používá pro obrazové animace, které pochopitelně potřebují i časování. Z toho důvodu je v JS velice užitečné umět spustit nějakou akci (třeba výměnu obrázku) až za určitý čas. K tomu slouží settimeout, který se zapisuje takto: settimeout(function(){ // udělej něco;, 3000); Vysvětlení: 1. Slovem settimeout požádáte prohlížeč, aby odložil spuštění toho, co je uvnitř 2. Kulaté závorky ( ) ohraničují obsah settimeout 3. Slovem function()zajistíte spuštění kódu, který má něco provést. Zde nedáváte funkci žádný název, vykoná se hned 4. Složenými závorkami { ohraničíte samotný kód, který se bude provádět 5. Číslovkou na konci určíte dobu, po kterou bude prohlížeč čekat na spuštění. Číslovka určuje milisekundy. Tedy 3000 jsou 3 sekundy. Stránka 12 z 15

Spouštění JavaScriptu v praxi V JavaScriptu na straně klienta (internetového prohlížeče) jsou obecně důležité následující kroky: 1. Najít HTML prvky (např. tlačítka ke spuštění skriptu, obrázky, DIVy ) 2. Spustit kód v definovaný okamžik (po načtení, kliknutím na tlačítko ) 3. Provést požadovanou operaci, která závislá od toho, co má kód provést Vyhledání HTML elementů v dokumentu HTML má danou strukturu po které se JS umí pohybovat. Této struktuře se říká DOM (Document Object Model) DOM Window Location Document History Screan Navigator Frames <html> back... height, width... geolocation... <body> <head> <ul> <li> <a> click href Stránka 13 z 15

K procházení HTML kódu je vhodnější použít knihovnu, např. jquery. Jde to ale i bez ní. Nejběžnějším způsobem, jak vyhledat HTML element je přes id. Způsob zápisu: document.getelementbyid("nazev-id"); Dalším řešením je vyhledat prvky podle class. Vyhledání přes id je snazší v tom, že id by se v HTML dokumentu mělo nacházet pouze jednou. Naproti tomu class se v jednom dokumentu může objevit vícekrát, což v praktickém použití znamená složitější kód. Způsob zápisu: document.getelementsbyclassname("nazev-tridy"); Praktický příklad var x = document.getelementsbyclassname("nazev-tridy"); var i; for (i = 0; i < x.length; i++) { x[i].style.backgroundcolor = "red"; Jak je z příkladu zřejmé, tak při vyhledání třídy, musíte procházet výsledek hledání jako pole. Pokud chcete vyhledat pouze první prvek, můžete použít: document.queryselector(".nazev-tridy "); Další možností je vyhledat konkrétní HTML značky. Způsob zápisu: document.getelementsbytagname("a"); I v tomto případě logicky dostanete jako výsledek pole, jelikož značek <a> se v HTML dokumentu může nacházet více. Platí tudíž totéž, co v případě getelementsbyclassname. Někdy můžete chtít přidat nový prvek na konec již existujících (např. další <li> do seznamu). K tomu se hodí: document.getelementbyid("nazev").appendchild(neco); V případě vložení na začátek můžete použít: document.getelementbyid("nazev").insertbefore(neco); Stránka 14 z 15

Spuštění na událost Pokud už umíte HTML prvek vyhledat, tak můžete sledovat události a reagovat na nastalou událost spuštěním požadovaného kódu. Tabulka s nejpoužívanějšími druhy událostí: click mouseenter mouseleave keypress change focus blur load drop Kliknutí myší Umístění myši nad prvek Opuštění myši prvku, na kterém předtím myš byla Stisknutí klávesy (např. pro <input type="text">) Při změně obsahu. Používá se pro <input>, <select>, <textarea> Aktivnost prvku Ztráta aktivnosti prvku (hodí se pro kontrolu obsahu pole ve formuláři) Načtení elementu (dá se použít pro aktivaci po načtení <body>) Chycením kurzorem myši za účelem přetažení na jinou pozici Způsob zápisu přímo do HTML kódu. Ukázka: <script> function nazev_funkce() { alert('test') <script> <a onclick=" nazev_funkce " > Způsob zápisu do JavaScriptu. Ukázka: <script> document.getelementbyid("nazev-id").onclick=function(){ alert('test'); ; <script> <a id="nazev-id"> Stránka 15 z 15