Ich versuche, mein Scripting zu üben, indem ich ein Schlachtschiffspiel mache. Wie gesehen here.Javascript für onclick Funktion
Ich versuche derzeit, das Brett 2D zu machen. Ich war in der Lage eine For-Schleife zu machen, um das Board zu machen, aber aus Testzwecken versuche ich nur das Board zu machen, wenn ich auf ein Quadrat klicke, wird es rot ... Aber das untere Quadrat immer beleuchtet. Ich habe versucht, es zu debuggen, indem ich den c
Wert null mache, aber dann hört es gerade auf zu arbeiten. Ich weiß, dass es den Wert c
nicht richtig speichert, aber ich frage mich, wie ich das beheben kann.
Muss ich 100 Quadrate selbst machen oder kann ich das Skript tatsächlich tun?
maincansize = 400;
document.getElementById("Main-Canvas").style.height = maincansize;
document.getElementById("Main-Canvas").style.width = maincansize;
document.getElementById("Main-Canvas").style.position = "relative";
var ize = maincansize * .1;
for (var a = 0; a < 10; a++) {
for (var b = 0; b < 10; b++) {
var c = document.createElement("div");
var d = c;
c.onclick = function() {
myFunction()
};
function myFunction() {
console.log("A square was clicked..." + c.style.top); d.style.backgroundColor = "red";
}
c.style.height = ize;
c.style.width = ize;
c.style.left = b * ize;
c.style.top = a * ize;
c.style.borderColor = "green";
c.style.borderStyle = "outset";
c.style.position = "absolute";
console.log(ize);
document.getElementById('Main-Canvas').appendChild(c);
} //document.getElementById('Main-Canvas').innerHTML+="<br>";
}
#Main-Canvas {
background-color: #DDDDDD;
}
<div>
<div id="header"></div>
<script src="HeaderScript.js"></script>
</div>
<div id="Main-Canvas" style="height:400;width:400;">
</div>
Wenn Sie Code einfügen, vor jedem Spiel setzen für Leerzeichen (oder den gesamten Code und drücken Sie die '{}' Symbol) –
Danke, versucht das zu tun. – William
Was Sie tun möchten, ist das Element, das tatsächlich den Klick auslöst - http://stackoverflow.com/questions/1553661/how-to-get-the-onclick-calling-object – Craicerjack