我知道你可能会发现这个重复,但对我而言,它并没有解决任何问题。我正在像节日项目那样在Simon计划中工作,而且我在使用此JavaScript代码的第41行时遇到了问题。问题是在HTML文件中,ids'存在,但也变得无效':
var pccolor = [];
var usercolor = [];
function SimonStart() {
document.getElementById("start").style.opacity = .3;
MakeColors();
}
function MakeColors() {
var colors = [1, 2, 3, 4, 6, 7, 8, 9];
var randcolor = colors[Math.floor(Math.random() * colors.length)];
pccolor.push(randcolor);
LightColor(randcolor, 1000);
}
var randcolor;
var s;
function LightUp() {
LightColor(pccolor[s]);
s++;
if (s < pccolor.length) {
setTimeout(function () {
LightUp();
}, 500);
}
}
function LightColor(color, TimeOut) {
var TimeOut = 1000;
document.getElementById("c" + color).style.opacity = "1"; //doesn't work!
setTimeout(function () {
document.getElementById("c" + color).style.opacity = ".3";
}, TimeOut);
}
function Button(OnClick) {
LightColor(OnClick);
usercolor.push(OnClick);
var i = usercolor.length - 1;
if (pccolor[i] != usercolor[i]) {
setTimeout(function () { alert("You lose!"); }, 300);
pccolor = [];
usercolor = [];
} else if (pccolor.length == usercolor.length) {
usercolor = [];
pccolor.push(randcolor);
s = 0;
setTimeout(function () {
LightUp();
}, 500);
}
}
这是.js文件结束的地方,这个是HTML文件:
<!DOCTYPE html>
<html>
<head>
...
<script type="text/javascript" src="Simon.js"></script>
<link rel="stylesheet" type="text/css" href="Simon.css">
</head>
<body>
<div class="centerDiv">
<div class="negro">
<div class="color" id="c1" onclick="Button (1);"> </div>
<div class="color" id="c2" onclick="Button (2);"> </div>
<div class="color" id="c3" onclick="Button (3);"> </div>
</div>
<div class="negro">
<div class="color" id="c4" onclick="Button (4);"> </div>
<div class="color" id="start" onclick="SimonStart ();"></div>
<div class="color" id="c6" onclick="Button (6);"> </div>
</div>
<div class="negro">
<div class="color" id="c7" onclick="Button (7);"> </div>
<div class="color" id="c8" onclick="Button (8);"> </div>
<div class="color" id="c9" onclick="Button (9);"> </div>
</div>
</div>
</body>
</html>
有人可以帮我吗???
答案 0 :(得分:-1)
将任何脚本标记放在HTML文件的末尾。
您的代码基本上是在加载DOM之前执行的,因此对于您的JavaScript程序,没有HTML可以处理。