JS - 图像没有改变

时间:2015-08-29 19:01:19

标签: 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 = "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;
}

1 个答案:

答案 0 :(得分:0)

这有一些问题。在punch()功能中。您将Punched设置为true,然后测试是否为真。所以它总是会执行第一个块,而不会执行else块。

最重要的是,您的if语句仅使用单个等号再次分配真实。即Punched = true如果测试平等,则应为Punched === true

看起来你正试图设置点击后发生的事情然后恢复到原始状态。你最好的选择可能只是使用某种计时器功能。因此,从整个代码和Punched函数中删除Punch()变量,只需逐步播放声音,更改图片,在点击时递增计数器,然后等待几秒钟并设置图像回来了。等待,谷歌setTimeout()。