NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Jurajs
Člen
Avatar
Jurajs:17.2.2018 17:32

Ahojte, nevíte čím to může být, že v JS mi nefunguje událost onclick...
Ani element.onclick = function(){} .... A ani addEventListener nefunguje správně, všechny události musím volat v HTML <input type="button" value="Restart!" id="btn" onclick = "restart();"/>
Nevíte čím to může být
tady je kód:

var posX = 0;
var interval = setInterval(mojeFunkce, 20);
var rest = document.getElementById("btn");
 rest.onclick = restart;

function mojeFunkce(){
var demo = document.getElementById("demo");
  posX++;
  demo.style.left = posX + "px";

  this.pozadi = function(){
  if(posX >= 200){
     document.body.style.background = "blue";
    posX = 0;
  }
}
  pozadi();
};
function restart(){
  posX = 0;
  document.body.style.background = "white";
};
 restart();

Ani to co je ted tady v kódu nefunguje :/ ...Pise mi to ze btn is null A vůbec nevim co mam hledat..prosím poradte mi ...Díky :)

Editováno 17.2.2018 17:34
 
Odpovědět
17.2.2018 17:32
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Jurajs
Jan Lupčík:17.2.2018 17:52

Nejspíš voláš tento JavaScript dřív, než je vůbec ten <input> načtený. Máš dvě možnosti:

  1. Načítat ten JavaScript až úplně na konci scriptu. Tato možnost je ta horší.
  2. Druhá varianta může být to, že celý ten kód obalíš do eventu onload třeba nějak takto:
window.onload = function() {
        // Tvůj kód
};
Editováno 17.2.2018 17:53
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
17.2.2018 17:52
TruckersMP vývojář
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.