私は戦艦ゲームを作成してスクリプトを練習しようとしています。見られるようにhere。onclick関数のJavascript
私は現在ボードを2Dにしようとしています。私はボードを作るためにfor-loopを作ることができましたが、テスト目的のためにボードを作ろうとしていて、正方形をクリックすると赤くなります...しかし、常に下の四角点灯します。私はc
の値をnullにすることによってそれをデバッグしようとしましたが、動作を停止します。私はc
の値を適切に保存していないことを知っていますが、これを修正する方法が不思議です。
私は自分自身で100の正方形を作っていなければなりませんか、それとも実際にスクリプトを作ってもいいですか?
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>
あなたがコードを挿入し、すべての行の前にスペースのために入れて(または、コード全体を選択し、 '{}'記号を押してください) –
ありがとうございました、それをやってみました。 – William
あなたがしたいのは、クリックを実際に引き起こしている要素を取得することです - http://stackoverflow.com/questions/1553661/how-to-get-the-onclick-calling-object – Craicerjack