Javascript JS-图像未正确更改

Javascript JS-图像未正确更改,javascript,image,Javascript,Image,我在做一个小游戏,但是我不能让图像变回NeutralIMG。我对JavaScript非常缺乏经验,但如果有人能告诉我我搞砸了什么,我将非常感激 var Celeb = document.getElementById("Celebrity"); var Sound = new Audio ("Punch1.wav"); var Punched = false; var HitCount = 0; var PunchIMG = "Justin2.png"; var NeutralIMG = "J

我在做一个小游戏,但是我不能让图像变回NeutralIMG。我对JavaScript非常缺乏经验,但如果有人能告诉我我搞砸了什么,我将非常感激

var Celeb = document.getElementById("Celebrity");
var Sound = new Audio  ("Punch1.wav");
var Punched = false;
var HitCount = 0; 
var PunchIMG = "Justin2.png";
var NeutralIMG = "Justin1.png";


Celeb.addEventListener("click", Punch);


function Punch() {
     Punched = true;
     if (Punched = true) {
 Sound.play();
 Celeb.src = PunchIMG;
 HitCount ++
 }
 else {
     Celeb.src = NeutralIMG;
 }
    document.getElementById("Score").innerHTML = "SCORE: " + HitCount;
}

这有一些问题。在
punch()函数中。您正在将
Punched
设置为true,然后测试它是否为true。因此,它将始终执行第一个块,而不会执行else块

除此之外,
if
语句仅使用一个equals将true赋值给punched。i、 e
Punched=true
如果测试是否相等,则应为
Punched===true

看起来您正试图设置单击时发生的情况,然后在单击后恢复到原始状态。您最好的选择可能是使用某种计时器功能。因此,从整个代码中删除
Punched
变量,在
Punch()
函数中,只需逐步完成播放声音、更改图片、增加单击计数器的过程,然后等待几秒钟并将图像设置回原位。对于等待,请使用google setTimeout()