Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| spse:pm3:javascript-2 [2021/01/12 20:25] – vytvořeno 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 6: | Řádek 10: | ||
| ==== Vytvoření nového objektu ==== | ==== Vytvoření nového objektu ==== | ||
| - | * Chceme-li definovat objekt, vytvoříme | + | * Chceme-li definovat objekt, vytvoříme |
| - | * Například předpokládejme, | + | < |
| <code javascript> | <code javascript> | ||
| - | | + | var person = { |
| - | this.znacka = znacka; | + | firstName: " |
| - | this.model = model; | + | lastName: " |
| - | this.rokVyroby = rokVyroby; | + | age: 50, |
| - | } | + | |
| + | }; | ||
| </ | </ | ||
| + | </ | ||
| + | < | ||
| + | === Vlastnosti objektu === | ||
| + | </ | ||
| + | * k vlastnostem objektu lze přistupovat dvěma způsoby: | ||
| - | Nyní můžete vytvořit objekt nazvaný mojeAuto: | + | < |
| <code javascript> | <code javascript> | ||
| - | | + | objectName.propertyName |
| + | // nebo | ||
| + | objectName["propertyName"] | ||
| </ | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Metody ==== | ||
| + | * Metodu pro objekt lze definovat přidáním funkce: | ||
| + | < | ||
| + | <code javascript> | ||
| + | var person = { | ||
| + | firstName: " | ||
| + | lastName : " | ||
| + | id : 5566, | ||
| + | fullName : function() { | ||
| + | return this.firstName + " " + this.lastName; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | === Přístup k metodě objektu === | ||
| + | </ | ||
| + | < | ||
| + | <code javascript> | ||
| + | // | ||
| + | name = person.fullName(); | ||
| + | </ | ||
| + | </ | ||
| + | ((https:// | ||
| ===== Regulární výrazy ===== | ===== Regulární výrazy ===== | ||
| - | ====== | + | * posloupnost znaků, které tvoří vyhledávací vzor |
| - | ===== integrace v HTML ===== | + | * slouží pro vyhledávání a nahrazování textu podle obecného vzoru |
| - | ===== objekty | + | * **syntax** - ''/ |
| - | =====objekt | + | < |
| - | ===== formuláře a jejich prvky ===== | + | <code javascript> |
| - | ====== | + | var patt = / |
| - | ====== | + | </ |
| - | ======Ovladače událostí | + | </ |
| - | ====== | + | * **w3schools** - vzor ke hledání |
| + | * **i** - modifikátor -> vyhledávání nebude casesensitive (nezáleží na velikosti písmen) | ||
| + | ==== Metody regulárních výrazů | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | < | ||
| + | <code javascript> | ||
| + | var str = "Visit W3Schools"; | ||
| + | var n = str.search(/ | ||
| + | // výsledek: 6 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <code javascript> | ||
| + | var str = "Visit Microsoft!"; | ||
| + | var res = str.replace(/ | ||
| + | // Visit W3Schools! | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== BOM (Browser Object Model) | ||
| + | ==== Window | ||
| + | |||
| + | < | ||
| + | <code javascript> | ||
| + | < | ||
| + | |||
| + | var w = window.innerWidth; | ||
| + | var h = window.innerHeight; | ||
| + | var x = document.getElementById(" | ||
| + | x.innerHTML | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== DOM (Document | ||
| + | |||
| + | {{: | ||
| + | ((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 | ||
| + | elem.style.left | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </script> | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | * 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 | ||
| + | } | ||
| + | |||
| + | function mOut(obj) { | ||
| + | obj.innerHTML | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | * 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:// | ||
| + | |||
| + | <---- | ||