在Javascript中显示时间有问题

在Javascript中显示时间有问题,javascript,Javascript,我用Javascript创建了一个简单的游戏,目的是从方块列表中选择一个具有RGB颜色(随机生成)的方块,并显示找到具有正确颜色的方块的时间长度。一切都很好,除了正确显示时间后,我点击一个按钮,时间继续变化,并再次显示一个新的时间,我不希望这样。我尝试在显示时间后显示:none或textcontent=“”,但不起作用。 问题在于这些方面: end = new Date().getTime(); timeTaken = (end - start)

我用Javascript创建了一个简单的游戏,目的是从方块列表中选择一个具有RGB颜色(随机生成)的方块,并显示找到具有正确颜色的方块的时间长度。一切都很好,除了正确显示时间后,我点击一个按钮,时间继续变化,并再次显示一个新的时间,我不希望这样。我尝试在显示时间后显示:none或textcontent=“”,但不起作用。 问题在于这些方面:

            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 {
  ...
}
请发一封信。