Základy JavaScriptu, SVG Cvičení 1 Šimon Leitgeb Z8144 Počítačová grafika v kartografii Jaro 2020 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Nástroje JavaScript SVG Nástroje Textový editor: Visual Studio Code, Sublime Text, Atom, … Internetový prohlížeč, vývojářská konzole (F12) Výuka JavaScriptu, reference: https://javascript.info/ Reference JavaScript: https://www.w3schools.com/jsref/ Online HTML/CSS/JS editor: http://codepen.io/pen/ 1. úkol: Pracovní HTML soubor 2. úkol: Pracovní HTML soubor Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Nástroje JavaScript SVG JavaScript – základní pojmy program program variable proměnná constant konstanta value hodnota data type datový typ expression výraz operator operátor comment komentář function funkce keyword klíčové slovo if, else, for, while … Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Nástroje JavaScript SVG SVG – základní pojmy vektor / rastr XML (eXtensible Markup Language) tree strom element prvek attribute atribut parent rodič child potomek sibling sourozenec Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol JavaScript – Principy Kompilovaný × interpretovaný jazyk Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol interpreter A person who interprets, especially one who translates speech orally or into sign language. A program that can analyse and execute a program line by line. Zdroj: https://en.oxforddictionaries.com/definition/interpreter Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol JavaScript – Principy Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Interpretery JS JS engine (Chrome V8, SpiderMonkey, JavaScriptCore) just-in-time compilation Developer tools (F12) Firefox Scratchpad (odebráno od verze 72, nahrazeno multi-line konzolí) Chrome snippets (https://developers.google.com/web/ tools/chrome-devtools/snippets) Online editor http://codepen.io/pen/ Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Použití console.log('Yeeeee, I am in cosole!'); alert('Noooo an annoying popup alert window :/'); Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol JavaScript v HTML5 Page Title Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Co umí JS? Práce s HTML/XML DOM: změna obsahu změna atributů změna stylů (HTML i CSS) Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Změna obsahu document.getElementById("test").innerHTML = "Hello World"; const testConst = document.getElementById("test"); testConst.innerHTML = "Hello World"; Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Změna atributů document.getElementById("image").width = 100; const myImage = document.getElementById("image"); myImage.width = 100; Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Změna stylů document.getElementById("paragraph").style.fontWeight = "bold";→ const myPar = document.getElementById("paragraph"); myPar.style.fontWeight = "bold"; Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Jak si to mám zapamatovat? Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Jak si to mám zapamatovat? Nijak … Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Jak si to mám zapamatovat? Nijak … stačí mozek! Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Jak si to mám zapamatovat? Nijak … stačí mozek! … a internet! Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Jak si to mám zapamatovat? Nijak … stačí mozek! … a internet! http://www.w3schools.com/jsref/ https://javascript.info/ https://google.com/ Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol 1. úkol Pracovní HTML soubor Pomocí konzole JavaScriptu: změňte text prvního odstavce na "Hello world" změňte id druhého odstavce na "druhy" změňte velikost fontu(font-size: 7px) u třetího odstavce na 7px Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol 2. úkol Pracovní HTML soubor Pomocí konzole JavaScriptu: přidejte 7 nových položek do seznamu(li) změňte barvu všech hypertextových odkazů v odstavci s id "lipsum" na červenou (color: red;) a podtrhněte je (text-decoration: underline;) zvětšete velikost písma (font-size: 2em;) všech odstavců (p), pokud obsahují třídu "big" (if) o 50 % Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Principy Použití 1. úkol 2. úkol Tipy: document.createElement("li"); element.appendChild(aChild); document.getElementsByTagName("a"); element.classList.contains(className); // pro seznamy HTML elementů použijte for (item of list) { console.log(item); } Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Tvorba grafiky Grafický editor – Inkscape, Adobe Illustrator Textový editor Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Výhody, nevýhody, rozdíly? Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Výhody, nevýhody, rozdíly? rychlost? Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Výhody, nevýhody, rozdíly? rychlost? přesnost? Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Výhody, nevýhody, rozdíly? rychlost? přesnost? datové atributy Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol SVG v HTML Page Title ... Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Příklad SVG Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Základní tvary rectangle rect obdélník/čtverec circle circle kruh ellipse ellipse elipsa line line úsečka polygon polygon polyline polyline lomená čára path path trasa text text Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol Použití CSS Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol Tvorba Příklady SVG Základní tvary 3. úkol 3. úkol Vytvořte HTML soubor (lokálně), se všemi náležitostmi (hlava, tělo, …). Tento soubor bude obsahovat odstavec textu, který bude popisovat přiložený svg obrázek. Dále bude tento soubor obsahovat svg obrázek se žlutě ohraničenou modrou elipsou.(atributy pro elipsu jsou: cx, cy, rx, ry) Šimon Leitgeb Základy JavaScriptu, SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opakování JavaScript SVG Domácí úkol 1. bodovaný úkol Stáhněte si šablonu pro 1. bodovaný úkol Úkol vypracovávejte sami. Smíte měnit pouze část souboru mezi tagy , který se nachází na úplném konci souboru. Zbytek souboru žádným způsobem neměňte. Odevzdaný soubor bude tedy vypadat shodně jako vzorový až na část s javascriptem. Vypracovnání úkolu zabere cca 20 řádků. V případě jakýchkoli dotazů či nejasností napište na Discord nebo e-mail. Každý z následujících bodů vypracujte pomocí JavaScriptu: Pozměňte barvu všech hypertextových odkazů, které mají atribut třídy nastaven na red (class=’red’), na červenou. Změňte velikost písma všech nadpisů (h3) na 24px. Pomocí javacriptu přidejte do druhého odstavce přes for cyklus 5 hypertextových odkazů, které odkazují na is.muni.cz. Úkol odevzdávejte do 3. 3. 4:00 Šimon Leitgeb Základy JavaScriptu, SVG Díky za pozornost! https://discord.gg/TKt6s3n . . . . . . . . . . . . . . . . . . . .