Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 25. diel - Obrázky a kreslenie na canvas v JavaScripte

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Jan Felkl
Člen
Avatar
Jan Felkl:6.7.2017 17:24

Ahoj příklad přepínač funguje ale jakmile jsem obrázky dal do adresáře img tak to přestalo fungovat, cestu jsem změnil.
Něco dělám špatne ale co?

function Prepni() {
if (prepinac.getAt­tribute("src") == "img\prep0.png") {
prepinac.src = "img\prep1.png"
} else {
prepinac.src = "img\prep0.png"
}
}

 
Odpovedať
6.7.2017 17:24
Avatar
Odpovedá na Jan Felkl
Michal Žůrek - misaz:6.7.2017 17:27

V javascriptu se jako oddělovač složek nepoužívá \ ale /

 
Odpovedať
6.7.2017 17:27
Avatar
Jan Felkl
Člen
Avatar
Jan Felkl:6.7.2017 17:30

dik už to jede

 
Odpovedať
6.7.2017 17:30
Avatar
David Koníček:18.12.2017 8:19

Škoda, že tu není uvedený příklad jak vykreslit ten externí obrázek.. až po delším bádání jsem přišel jak na to. Klidně bych se u toho trochu víc rozepsal, ale nechci kritizovat.

Odpovedať
+2
18.12.2017 8:19
Věř, běž a dokážeš!
Avatar
Tomáš Pařízek:7.2.2018 12:26

Mám takové dva dotazy, nevím přesně kde se mám zeptat, tak se ptám u tohoto článku.

1.) Proč místo označení proměnné var používáte let?
2.) Co znamená this, případně mohl byste někdo uvést jednoduchý příklad?

 
Odpovedať
7.2.2018 12:26
Avatar
Odpovedá na Tomáš Pařízek
Michal Žůrek - misaz:7.2.2018 14:06
  1. let jsem tam nenapsal já, ale někdo to upravil. Je to dnes hrozně cool. Oproti var se to chová jinak napříč různými scope a nedovoluje to za určitých okolností změnu hodnoty proměnné. Nevýhoda je, že to neumí starší prohlížeče. Osobně to nepoužívám.
  2. this slouží k určení kontextu volání. Používá se u objektů a metod k přístup k aktuální instanci.
function Clovek(jmeno, prijmeni) {
        this.jmeno = jmeno;
        this.prijmeni = prijmeni;
}

Clovek.prototype.pozdrav = function () {
        alert("Zdraví tě " + this.jmeno + " " + this.prijmeni);
}

var karel = new Clovek("Karel", "Chytrý");
karel.pozdrav();
 
Odpovedať
7.2.2018 14:06
Avatar
Odpovedá na Michal Žůrek - misaz
Tomáš Pařízek:7.2.2018 14:55

Děkuji, to se mi hodí. Je to něco podobného jako v Pythonu self.

 
Odpovedať
7.2.2018 14:55
Avatar
Odpovedá na Tomáš Pařízek
Michal Žůrek - misaz:7.2.2018 15:12

přesně tak. je to v podstatě totéž. V JS to lze ještě použít sice i jinak, ale to je docela složité.

 
Odpovedať
7.2.2018 15:12
Avatar
Odpovedá na Michal Žůrek - misaz
Tomáš Pařízek:8.2.2018 13:07

Jen bych se teda chtěl zeptat na konkrétní věc. Pokud si chci vytvořit takovou malou, řekněme ,,Knihovničku", která se teda jmenuje po mě. Kde jsem udělal chybu zde:

Knihovna: parizek.js

var GameObject = function(color, width, height) {
        this.color = color
        this.width = width
        this.height = height
        }

function GameObject.prototype.create()
{
        var a = document.createElement(div)
        a.style = "height: " + this.height + "; width: " + this.width + "; background-color: " + this.color
        return a
        }

A zde test: test.html

<title>Test</title>
<meta charset="utf-8">
<body id="telo">

<script src="parizek.js"></script>
<script type="text/javascript" >
        plocha = new GameObject("orange", "50", "50")
        plocha.create()
        telo.appendChild(plocha)
</script>
Editované 8.2.2018 13:08
 
Odpovedať
8.2.2018 13:07
Avatar
Odpovedá na Tomáš Pařízek
Michal Žůrek - misaz:8.2.2018 15:23

Skvělý začátek! Správně je to takhle.

var GameObject = function(color, width, height) {
    this.color = color
    this.width = width
    this.height = height
}

GameObject.prototype.create = function () { // musí se psát takhle
    var a = document.createElement("div") // div musí být v uvozovkách
    a.style = "height: " + this.height + "; width: " + this.width + "; background-color: " + this.color
    return a;
}

a

<title>Test</title>
<meta charset="utf-8">
<body>

<script src="parizek.js"></script>
<script type="text/javascript" >
    var plocha = new GameObject("orange", "50", "50")
    document.body.appendChild(plocha.create()) // musí se vložit to co vrátí nějaký element, tedy metoda create.
</script>
 
Odpovedať
8.2.2018 15:23
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 54.