Witam, zaczynam się uczyć java scriptów, więc postanioowiłem napisać przeglądarkowe nim:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>NIM ONLINE</title>
<link rel="stylesheet" href="_style/html5reset-1.6.1.css">
<link rel="stylesheet" href="_style/screen.css">
<link href="https://fonts.googleapis.com/css?family=Black+Ops+One|Roboto" rel="stylesheet">
</head>
<script>
var a, b, c, d;
function zero()
{
document.getElementById("1").innerHTML = null;
document.getElementById("2").innerHTML = null;
document.getElementById("3").innerHTML = null;
a=0; b=0; c=0; d=0;
}
function howTo()
{
zero();
document.getElementById("game").style.display = 'none';
document.getElementById("about").style.display = 'none';
document.getElementById("zasady").style.display = 'block';
}
function about()
{
zero();
document.getElementById("game").style.display = 'none';
document.getElementById("zasady").style.display = 'none';
document.getElementById("about").style.display = 'block';
}
function start()
{
zero();
document.getElementById("zasady").style.display = 'none';
document.getElementById("about").style.display = 'none';
document.getElementById("game").style.display = 'block';
a = Math.floor((Math.random() * 12) + 1);
b = Math.floor((Math.random() * 12) + 1);
c = Math.floor((Math.random() * 12) + 1);
for(var i=0; i<a; i++) document.getElementById("1").innerHTML += '<img src="_gfx/rock.png" />';
for(var i=0; i<b; i++) document.getElementById("2").innerHTML += '<img src="_gfx/rock.png" />';
for(var i=0; i<c; i++) document.getElementById("3").innerHTML += '<img src="_gfx/rock.png" />';
}
function get1()
{
if( (d == 0)||(d==1) )
{
d=1;
a--;
document.getElementById("1").innerHTML = null;
for(var i=0; i<a; i++) document.getElementById("1").innerHTML += '<img src="_gfx/rock.png" />';
}
}
function get2()
{
if( (d == 0)||(d==2) )
{
d=2;
b--;
document.getElementById("2").innerHTML = null;
for(var i=0; i<b; i++) document.getElementById("2").innerHTML += '<img src="_gfx/rock.png" />';
}
}
function get3()
{
if( (d == 0)||(d==3) )
{
d=3;
c--;
document.getElementById("3").innerHTML = null;
for(var i=0; i<c; i++) document.getElementById("3").innerHTML += '<img src="_gfx/rock.png" />';
}
}
</script>
<body>
<h1>NIM ONLINE</h1>
<section>
<ul>
<li><button onclick="start();">Nowa gra</button></li>
<li><button onclick="howTo();">Jak grać?</button></li>
<li><button onclick="about();">O programie</button></li>
</ul>
</section>
<section id="content">
<p id="zasady">Jest to chińska dwuosobowa gra. Polega na wykonywaniu ruchów na przemian przez graczy. Każde posunięcie w tej grze polega na zmianie konfiguracji kmieni stole, przy czym dopuszczalne są tylko pewne zmiany po wykonaniu ruchu kamieni musi być mniej niż przedtem, ale tylko na jednym stosie liczba kamieni może się zmienić. W jednym ruchu należy wybrać jeden z stosów i usunąć z niego dowolną liczbę kamieni. Trzeba usunąć przynajmniej jeden kamień, ale można zabrać nawet wszystkie. Wygrywa ten kto usunie ostatni kamień.</p>
<p id="about">Strona wykonana przez Zero!<br>Wszelkie prawa zastrzeżone<br><br>Nic nie można poza graniem :p</p>
<div id="game">
<div id="1" onclick="get1();"></div>
<div id="2" onclick="get2();></div>
<div id="3" onclick="get3();></div>
</div>
</section>
</body>
</html>
Niestety po próbie naciśnięcia na przycisk pojawia się komunikat:
TypeError: null has no properties
document.getElementById("2").innerHTML = null;
który odnosi się do linijki 20
Czy ktoś powie mi jak to wyeliminować?
Zgóry dziękuje :D