我试图通过制作战舰游戏来练习我的脚本。如所见here。用于onclick函数的Javascript
我目前正在尝试制作电路板2D。然而,由于测试的目的,我能够制作一个for-loop来制作电路板,我只是试图制作电路板,点击一个正方形后,它变成红色......但是,底部正方形总是点亮。我试图通过使c
值为空来调试它,但是它只是停止工作。我知道这不是正确保存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