Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| spse:pm3:javascript-2 [2021/01/12 21:35] – jenda | spse:pm3:javascript-2 [2024/07/07 16:48] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Javascript - Pole, Regulární výrazy, Objekty, DOM ====== | + | ~~NOCACHE~~ |
| + | ~~REVEAL theme=dokuwiki& | ||
| + | |||
| + | |||
| + | ====== Javascript - Regulární výrazy, Objekty, DOM ====== | ||
| ===== základy objektově orientovaného programování ===== | ===== základy objektově orientovaného programování ===== | ||
| Řádek 17: | Řádek 21: | ||
| </ | </ | ||
| </ | </ | ||
| + | < | ||
| === Vlastnosti objektu === | === Vlastnosti objektu === | ||
| + | </ | ||
| * k vlastnostem objektu lze přistupovat dvěma způsoby: | * k vlastnostem objektu lze přistupovat dvěma způsoby: | ||
| Řádek 34: | Řádek 39: | ||
| ==== Metody ==== | ==== Metody ==== | ||
| * Metodu pro objekt lze definovat přidáním funkce: | * Metodu pro objekt lze definovat přidáním funkce: | ||
| + | < | ||
| <code javascript> | <code javascript> | ||
| var person = { | var person = { | ||
| Řádek 44: | Řádek 50: | ||
| } | } | ||
| </ | </ | ||
| + | </ | ||
| + | < | ||
| === Přístup k metodě objektu === | === Přístup k metodě objektu === | ||
| + | </ | ||
| < | < | ||
| <code javascript> | <code javascript> | ||
| Řádek 58: | Řádek 66: | ||
| * posloupnost znaků, které tvoří vyhledávací vzor | * posloupnost znaků, které tvoří vyhledávací vzor | ||
| * slouží pro vyhledávání a nahrazování textu podle obecného vzoru | * slouží pro vyhledávání a nahrazování textu podle obecného vzoru | ||
| - | * **syntax** - ''/ | + | * **syntax** - ''/ |
| < | < | ||
| <code javascript> | <code javascript> | ||
| Řádek 64: | Řádek 72: | ||
| </ | </ | ||
| </ | </ | ||
| - | * w3schools - vzor ke hledání | + | |
| * **i** - modifikátor -> vyhledávání nebude casesensitive (nezáleží na velikosti písmen) | * **i** - modifikátor -> vyhledávání nebude casesensitive (nezáleží na velikosti písmen) | ||
| ==== Metody regulárních výrazů ==== | ==== Metody regulárních výrazů ==== | ||
| Řádek 88: | Řádek 96: | ||
| - | ===== BOM ===== | + | ===== BOM (Browser Object Model) |
| ==== Window objekt ==== | ==== Window objekt ==== | ||
| Řádek 107: | Řádek 115: | ||
| - | ===== DOM ===== | + | ===== DOM (Document Object Model)===== |
| + | |||
| + | {{: | ||
| + | ((https:// | ||
| + | ----> | ||
| + | * JS má naprostou kontrolu nad objekty, které jsou součástí html. | ||
| + | * JS může změnit všechny prvky HTML na stránce. | ||
| + | * JS může změnit všechny atributy HTML na stránce. | ||
| + | * JS může změnit všechny CSS styly na stránce. | ||
| + | * JS může odstranit existující prvky a atributy HTML. | ||
| + | * JS může přidávat nové prvky a atributy HTML. | ||
| + | * JS může reagovat na všechny existující události HTML na stránce. | ||
| + | * JS může na stránce vytvářet nové události HTML. | ||
| + | <---- | ||
| + | |||
| + | ==== DOM metody ==== | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | < | ||
| + | <code html> | ||
| + | < | ||
| + | <p id=" | ||
| + | < | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ----> | ||
| + | === Hledání HTML tagů === | ||
| + | ^Metoda^Popis^ | ||
| + | |document.getElementById(id)|Najde tag podle id| | ||
| + | |document.getElementsByTagName(name)|Najde všechny tagy podle nazvu tagu| | ||
| + | |document.getElementsByClassName(name)|Vyhledá všechny tagy podle třídy| | ||
| + | <---- | ||
| + | |||
| + | ----> | ||
| + | === Změny HTML tagů === | ||
| + | ^Vlastnost^Popis^ | ||
| + | |element.innerHTML = new html content|Změni obsah mezi HTML tagy| | ||
| + | |element.attribute = new value|Změní hodnotu atributu HTML tagu| | ||
| + | |element.style.property = new style|Změní hodnoty v položce style| | ||
| + | |||
| + | ^Metoda^Popis^ | ||
| + | |element.setAttribute(attribute, | ||
| + | <---- | ||
| + | ----> | ||
| + | === Přidat a odebrat html tag === | ||
| + | ^Metoda^Popis^ | ||
| + | |document.createElement(element)|Vytvoří HTML tag| | ||
| + | |document.removeChild(element)|Smaže HTML tag| | ||
| + | |document.appendChild(element)|Přidá HTML tag| | ||
| + | |document.replaceChild(new, | ||
| + | |document.write(text)|Zapisuje do výstupního streamu| | ||
| + | <---- | ||
| + | |||
| + | ==== Animace ==== | ||
| + | < | ||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | #container { | ||
| + | width: 400px; | ||
| + | height: 400px; | ||
| + | position: relative; | ||
| + | background: yellow; | ||
| + | } | ||
| + | #animate { | ||
| + | width: 50px; | ||
| + | height: 50px; | ||
| + | position: absolute; | ||
| + | background-color: | ||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | <div id =" | ||
| + | <div id =" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | function myMove() { | ||
| + | var elem = document.getElementById(" | ||
| + | var pos = 0; | ||
| + | var id = setInterval(frame, | ||
| + | function frame() { | ||
| + | if (pos == 350) { | ||
| + | clearInterval(id); | ||
| + | } else { | ||
| + | pos++; | ||
| + | elem.style.top = pos + " | ||
| + | elem.style.left = pos + " | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | * https:// | ||
| + | |||
| + | ==== Události==== | ||
| + | * reaguje na uživatele | ||
| + | * https:// | ||
| + | |||
| + | ----> | ||
| + | === onClick === | ||
| + | * JS událost, která se spouští při kliknutí levým tlačítkem myši na určitý element. | ||
| + | < | ||
| + | <code html> | ||
| + | <h1 onclick=" | ||
| + | </ | ||
| + | </ | ||
| + | * https:// | ||
| + | |||
| + | < | ||
| + | <code javascript> | ||
| + | < | ||
| + | document.getElementById(" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | <---- | ||
| + | ----> | ||
| + | === onMouseOver / onMouseOut === | ||
| + | |||
| + | < | ||
| + | <code html> | ||
| + | <div onmouseover=" | ||
| + | style=" | ||
| + | Mouse Over Me</ | ||
| + | |||
| + | < | ||
| + | function mOver(obj) { | ||
| + | obj.innerHTML = "Thank You" | ||
| + | } | ||
| + | |||
| + | function mOut(obj) { | ||
| + | obj.innerHTML = "Mouse Over Me" | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | * https:// | ||
| + | <---- | ||
| + | ----> | ||
| + | === onMouseDown / onMouseUp === | ||
| + | |||
| + | < | ||
| + | <code html> | ||
| + | <div onmousedown=" | ||
| + | style=" | ||
| + | Click Me</ | ||
| + | |||
| + | < | ||
| + | function mDown(obj) { | ||
| + | obj.style.backgroundColor = "# | ||
| + | obj.innerHTML = " | ||
| + | } | ||
| + | |||
| + | function mUp(obj) { | ||
| + | obj.style.backgroundColor="# | ||
| + | obj.innerHTML=" | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | * https:// | ||
| + | <---- | ||
| + | ----> | ||
| + | === onKeyDown === | ||
| + | * Při stlačení klávesy ve chvíli, kdy je element aktivní. | ||
| + | |||
| + | < | ||
| + | <code javascript> | ||
| + | < | ||
| + | < | ||
| + | function myFunction() { | ||
| + | alert(" | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | <p>A function is triggered when the user is pressing a key in the input field.</ | ||
| + | |||
| + | <input type=" | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | * https:// | ||
| + | <---- | ||
| + | ----> | ||
| + | === Další události | ||
| + | |||
| + | https:// | ||
| - | ===== integrace v HTML ===== | + | <---- |
| - | ===== objekty Window, Screen, Navigator, Location, History ===== | + | |
| - | =====objekt Document – obrázky, odkazy, záložky ===== | + | |
| - | ===== formuláře a jejich prvky ===== | + | |
| - | ====== DOM ====== | + | |
| - | ====== Ovládání CSS pomocí scriptů ====== | + | |
| - | ======Ovladače událostí ====== | + | |
| - | ====== Praktické příklady====== | + | |