Javascript 随机、if语句和event.target

Javascript 随机、if语句和event.target,javascript,if-statement,firefox,random,dom-events,Javascript,If Statement,Firefox,Random,Dom Events,我是Javascript新手,对event.target有问题。问题是,我使用Math.random来显示一个数字,然后使用if语句,这样,如果你单击与数字对应的图像,它会变大,如果你单击另一个图像,它的不透明度会改变 它在Chrome和IE中工作得很好,但在Firefox中却不行(我知道Firefox是经典) 这是我的密码: var sunrise_sunset=[19,20,6,7]; var night=[21,22,23,0,1,2,3,4,5]; 风险值日=[8,9,10,11,12

我是Javascript新手,对
event.target
有问题。问题是,我使用
Math.random
来显示一个数字,然后使用
if
语句,这样,如果你单击与数字对应的图像,它会变大,如果你单击另一个图像,它的不透明度会改变

它在Chrome和IE中工作得很好,但在Firefox中却不行(我知道Firefox是经典)

这是我的密码:

var sunrise_sunset=[19,20,6,7];
var night=[21,22,23,0,1,2,3,4,5];
风险值日=[8,9,10,11,12,13,14,15,16,17,18];
var小时=日出和日落。concat(夜晚)。concat(白天);
var randomHour=Math.floor(Math.random()*hours.length);
{document.getElementById(“soleil”).addEventListener(“单击”,函数(){checkAnswer(日出日落)},false);
document.getElementById(“nuit”).addEventListener(“单击”,函数(){checkAnswer(night)},false);
document.getElementById(“jour”).addEventListener(“单击”,函数(){checkAnswer(day)},false);
}
函数校验应答(数组){
var isCorrect=假;

对于(var i=0;i答案在Andreas comment链接中。事件参数需要传递给您的checkAnswer方法。IE和Chrome全局定义事件,但firefox仅将其定义为函数参数。我认为您应该以任何方式将其作为参数传递

尝试下面的代码,看看新的参数事件是否被传递。我在firefoxs中测试了它。它在做了这些更改后工作

var sunrise_sunset = [19, 20 ,6, 7];
   var night = [21, 22, 23, 0, 1, 2, 3, 4, 5];
   var day = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];
   var hours = sunrise_sunset.concat(night).concat(day);

   var randomHour = Math.floor(Math.random() * hours.length);

{
    document.getElementById("soleil").addEventListener("click", function(e){checkAnswer(e, sunrise_sunset)}, false);
    document.getElementById("nuit").addEventListener("click", function(e){checkAnswer(e, night)}, false);
    document.getElementById("jour").addEventListener("click", function(e){checkAnswer(e, day)}, false);
}

function checkAnswer(event, array) {  
  var isCorrect = false;
  for(var i = 0; i<array.length; i++) {
    if(array[i] == randomHour){
        isCorrect = true;
      break;
    }
  }

  if(isCorrect){
        event.target.style.width=500;
  }else{
      event.target.style.opacity = 0.5;
  }
};
var sunrise_sunset=[19,20,6,7];
var night=[21,22,23,0,1,2,3,4,5];
风险值日=[8,9,10,11,12,13,14,15,16,17,18];
var小时=日出和日落。concat(夜晚)。concat(白天);
var randomHour=Math.floor(Math.random()*hours.length);
{
document.getElementById(“soleil”).addEventListener(“单击”,函数(e){checkAnswer(e,日出日落)},false);
document.getElementById(“nuit”).addEventListener(“单击”,函数(e){checkAnswer(e,night)},false);
document.getElementById(“jour”).addEventListener(“单击”,函数(e){checkAnswer(e,day)},false);
}
函数检查应答(事件,数组){
var isCorrect=假;
对于(var i=0;i