Autor | Zpráva | ||
---|---|---|---|
Děda Profil * |
#1 · Zasláno: 15. 12. 2023, 11:16:35
Zdravím, nejsem starší muž který měl trošku zkušenosti s výrobou stránek a JavaSkriptů v počátcích Internetu.
Chtěl jsem udělat dětem kvíz - vždy kliknou na 3 správné varianty dotazu a pak se dostanou do dalšího kola. Jenže ono mi to nesčítá. Kde mám prosím chybu? <script> var hotovo; hotovo = nahoda+nahodab+nahodac; function plast(){ var nahoda = Math.ceil(Math.random()*1); document.getElementById("plast").innerHTML=nahoda; } function sklo(){ var nahodab = Math.ceil(Math.random()*1); document.getElementById("sklo").innerHTML=nahodab; } function rouska(){ var nahodac = Math.ceil(Math.random()*1); document.getElementById("rouska").innerHTML=nahodac; } if (hotovo = 3) {window.location="dalsi_hra.htm";} </script> |
||
anonym_ Profil * |
#2 · Zasláno: 15. 12. 2023, 11:18:43
Děda:
Otevři si konzoli a zjistíš, kde je problém. Napovím, hned na 3. řádku. |
||
Děda Profil * |
#3 · Zasláno: 15. 12. 2023, 11:25:03
anonym: díky, jak otevřu to konzoli.
|
||
anonym_ Profil * |
#4 · Zasláno: 15. 12. 2023, 11:32:19
Děda:
Zde nebude problém jen v základech JS, ale i v používání vyhledávače. U mě v Mac/safari Command+option+I, na Widnowsech pravdpodobně F12 nebo Ctrl+Alt/Shift+I. Možná prohlížeč od prohlížeče, zapoj trochu snahy a vlastní iniciativy. |
||
blaaablaaa Profil |
Děda:
Většinou pomocí F12. Problém je v tom, že Váš kód nedává smysl. Na 3. řádku sčítáte 3 proměnné, které neexistují, pak jsou tří funkce, které dovnitř elementů plast/sklo/rouska přes proměnnou přiřadí vždy 1 (Math.random vygeneruje náhodné číslo 0-1, vynásobení jedničkou nic neudělá a Math.ceil číslo vždy zaokrouhlí nahoru na 1). Chybí nějaké odchycení kliknutí a prakticky jakákoliv logika. |
||
anonym_ Profil * |
#6 · Zasláno: 15. 12. 2023, 11:37:32
Děda:
Plus začni základem JS. Špatně je řádek 3. Proměnné nejsou definované. Špatně je nepochopení platnosti proměnných (scope). Proměnná nahoda nebude existovat ani za řádkem 8, ta existuje jen uvnitř funkce plast() .
Funkce máš definované, ale nikde je nevoláš (tedy nic nevrací). Elementy, které hledáš na ř. 7, 12, 17 pravděpodobně neexistují. Alespoň ne v tomto fragmentu kódu. Atd. |
||
Děda Profil * |
#7 · Zasláno: 15. 12. 2023, 11:57:54
díky za postřehy, díky nim jsem to přetvořil takto a funguje to
<script> var hotovo; var nahoda = 0; var nahodab = 0; var nahodac = 0; hotovo = 0; function plast(){ nahoda = 1; document.getElementById("plast").innerHTML=nahoda; hotovo = nahoda + nahodab + nahodac; if (hotovo ==3) {window.location="dalsi_hra.htm";} } function sklo(){ nahodab = 1; document.getElementById("sklo").innerHTML=nahodab; hotovo = nahoda + nahodab + nahodac; if (hotovo ==3) {window.location="dalsi_hra.htm";} } function rouska(){ nahodac = 1; document.getElementById("rouska").innerHTML=nahodac; hotovo = nahoda + nahodab + nahodac; if (hotovo ==3) {window.location="dalsi_hra.htm";} } </script> |
||
Časová prodleva: 5 měsíců
|
0