JavaScript无法在“窗口”上执行“ getComputedStyle”:参数1的类型不是“元素”

时间:2019-08-02 13:53:04

标签: javascript this fade getcomputedstyle

我试图使单击时消失一个小方块,但前提是选择错误。

问题是我希望它逐渐消失,选择正方形时遇到一些问题。

for (var i = 0; i < difficulty; i++) {
  card[i].addEventListener("click", function(){
    if(this.classList.contains("rightGuess")){
      victoryPar.innerHTML = "You're right!"
    }
    else{
      victoryPar.innerHTML = "Try again"
      this.classList.add("wrong");
      var cartaSbagliata = document.getElementsByClassName("wrong")[incremento];
      opacityWrong = Number(window.getComputedStyle("cartaSbagliata").getPropertyValue("opacity"));
      incremento++;
      interId = setInterval(function(){
        if(opacityWrong > 0){
          opacityWrong = opacityWrong-0.1;
          cartaSbagliata.style.opacity = opacityWrong
        }
        else{
          clearInterval(interID);
        }
      }, 40)

    }
  })
}

我只是不知道如何在card[i]中选择getComputedStyle。 有点混乱,因为我几乎尝试了所有方法,所以如果有人可以向我解释如何为getComputedStyle正确选择项目,那将是惊人的。

我是初学者,所以请解释一下,否则我什么都不懂。

1 个答案:

答案 0 :(得分:1)

错误提示

  

参数1的类型不是“元素”

"cartaSbagliata"是一个字符串,而不是一个元素。

您在变量cartaSbagliata中有一个元素,因此使用它:

window.getComputedStyle(cartaSbagliata)