在Javascript中显示时间有问题
我用Javascript创建了一个简单的游戏,目的是从方块列表中选择一个具有RGB颜色(随机生成)的方块,并显示找到具有正确颜色的方块的时间长度。一切都很好,除了正确显示时间后,我点击一个按钮,时间继续变化,并再次显示一个新的时间,我不希望这样。我尝试在显示时间后显示:none或textcontent=“”,但不起作用。 问题在于这些方面:在Javascript中显示时间有问题,javascript,Javascript,我用Javascript创建了一个简单的游戏,目的是从方块列表中选择一个具有RGB颜色(随机生成)的方块,并显示找到具有正确颜色的方块的时间长度。一切都很好,除了正确显示时间后,我点击一个按钮,时间继续变化,并再次显示一个新的时间,我不希望这样。我尝试在显示时间后显示:none或textcontent=“”,但不起作用。 问题在于这些方面: end = new Date().getTime(); timeTaken = (end - start)
end = new Date().getTime();
timeTaken = (end - start) / 1000;
timp.style.display ="inline";
timp.innerHTML = "Timpul tau: " + timeTaken + " s.";
谢谢
游戏链接:
我的javascript代码:
var numSquares = 6;
var colors = generateRandomColors(numSquares);
var squares = document.querySelectorAll(".square");
var pickedColor = pickColor();
var colorDisplay = document.getElementById("colorDisplay");
var messageDisplay = document.querySelector("#message");
var h1 = document.querySelector("h1");
var resetButton = document.querySelector("#reset");
var easyBtn = document.querySelector("#easyBtn");
var hardBtn = document.querySelector("#hardBtn");
var numSquares = 6;
var timp = document.getElementById("timeTaken");
var start = new Date().getTime();
var end;
var timeTaken;
easyBtn.addEventListener("click", function () {
start = new Date().getTime();
numSquares = 3;
this.classList.add("selected");
hardBtn.classList.remove("selected");
colors = generateRandomColors(numSquares);
pickedColor = pickColor();
colorDisplay.textContent = pickedColor;
for (var i = 0; i < 3; i++) {
squares[i].style.backgroundColor = colors[i];
}
for (var i = 3; i < squares.length; i++) {
squares[i].style.display = "none";
}
timp.textContent= "";
messageDisplay.textContent = "";
h1.style.background = "steelblue";
});
hardBtn.addEventListener("click", function () {
start = new Date().getTime();
this.classList.add("selected");
numSquares = 6;
easyBtn.classList.remove("selected");
colors = generateRandomColors(numSquares);
pickedColor = pickColor();
colorDisplay.textContent = pickedColor;
for (var i = 0; i < squares.length; i++) {
squares[i].style.backgroundColor = colors[i];
squares[i].style.display = "block";
}
messageDisplay.textContent = "";
timp.textContent= "";
h1.style.background = "steelblue";
});
resetButton.addEventListener("click", function () {
start = new Date().getTime();
//generare noi culori
colors = generateRandomColors(numSquares);
//alegem o noua culoare random din vector
pickedColor = pickColor();
//schimbam colorDisplay sa fie la fel cu culoarea aleasa
colorDisplay.textContent = pickedColor;
//schimbare culori ale patratelor
for (var i = 0; i < squares.length; i++) {
// adaug culorile la fiecare patrat
squares[i].style.background = colors[i];
}
h1.style.background = "steelblue";
messageDisplay.textContent = "";
this.textContent = "Culori noi";
timp.textContent= "";
});
colorDisplay.textContent = pickedColor;
for (var i = 0; i < squares.length; i++) {
// adaug culorile la fiecare patrat
squares[i].style.background = colors[i];
//cand dau click pe un patrat
squares[i].addEventListener("click", function () {
// pun intr-o variabila culoarea patratatului ca sa o verific cu culoarea pe care trebuie sa o ghicesc, pentru a vedea daca am nimerit culoarea
var clickedColor = this.style.backgroundColor;
if (clickedColor === pickedColor) {
messageDisplay.textContent = "Corect!"
resetButton.textContent = "Joc nou"
changeColors(clickedColor);
h1.style.backgroundColor = clickedColor;
end = new Date().getTime();
timeTaken = (end - start) / 1000;
timp.style.display ="inline";
timp.innerHTML = "Timpul tau: " + timeTaken + " s.";
} else {
this.style.backgroundColor = "#232323";
messageDisplay.textContent = "Gresit!";
}
});
};
function changeColors(color) {
//schimbam culoarea la fiecare patrat
for (var i = 0; i < squares.length; i++) {
squares[i].style.backgroundColor = color;
}
}
function pickColor() {
var random = Math.floor(Math.random() * colors.length);
return colors[random];
}
function generateRandomColors(num) {
// fac un vector
var arr = [];
//adaugam numarul de culori random
for (var i = 0; i < num; i++) {
//alegem o culoare random si o bagam in vector
arr[i] = randomColor();
}
//returnam vectorul
return arr;
}
function randomColor() {
// alegem un rosu intre 0 si 255
var r = Math.floor(Math.random() * 256);
//alegem un verde intre 0 si 255
var g = Math.floor(Math.random() * 256);
//alegem un albastru intre 0 si 255
var b = Math.floor(Math.random() * 256);
return "rgb(" + r + ", " + g + ", " + b + ")";
}
var numSquares=6;
var colors=生成域颜色(numSquares);
var squares=document.queryselectoral(“.squares”);
var pickedColor=pickColor();
var colorDisplay=document.getElementById(“colorDisplay”);
var messageDisplay=document.querySelector(“消息”);
var h1=document.querySelector(“h1”);
var resetButton=document.querySelector(“重置”);
var easyBtn=document.querySelector(“easyBtn”);
var hardBtn=document.querySelector(“#hardBtn”);
var numSquares=6;
var timp=document.getElementById(“耗时”);
var start=new Date().getTime();
var端;
var时间;
easyBtn.addEventListener(“单击”),函数(){
开始=新日期().getTime();
numSquares=3;
此.classList.add(“选定”);
hardBtn.classList.remove(“选中”);
颜色=生成区域颜色(numSquares);
pickedColor=pickColor();
colorDisplay.textContent=pickedColor;
对于(变量i=0;i<3;i++){
正方形[i].style.backgroundColor=颜色[i];
}
对于(变量i=3;i
谢谢 检查是否已在square的事件侦听器中选择了正确答案,如果已选择,则返回。这将阻止它在更新时间的地方运行事件侦听器的其余代码
if (clickedColor === pickedColor) {
if (messageDisplay.textContent === "Corect!") return;
...
} else {
...
}
请发一封信。