Javascript 记忆游戏-如何在警报弹出前显示两张卡的图像

Javascript 记忆游戏-如何在警报弹出前显示两张卡的图像,javascript,Javascript,我已经用JavaScript编写了一个记忆游戏的代码。我的问题是,我不明白为什么选择的两张卡在警报(说它们是相同的或不匹配的)弹出之前都不显示。我感到困惑,因为该警报位于isMatch函数中,该函数在两张卡都被单击后运行(isTwoCards函数) var isTwoCards=function(){ if(this.getAttribute('data-card')=='king'){ this.innerHTML=''; }否则{ this.innerHTML=''; } cardsInPl

我已经用JavaScript编写了一个记忆游戏的代码。我的问题是,我不明白为什么选择的两张卡在警报(说它们是相同的或不匹配的)弹出之前都不显示。我感到困惑,因为该警报位于isMatch函数中,该函数在两张卡都被单击后运行(isTwoCards函数)

var isTwoCards=function(){
if(this.getAttribute('data-card')=='king'){
this.innerHTML='';
}否则{
this.innerHTML='';
}
cardsInPlay.push(this.getAttribute('data-card'));
如果(cardsInPlay.length==2){
isMatch(cardsInPlay);
}
};
var isMatch=函数(){
if(cardsInPlay[0]!==cardsInPlay[1]){
警报('抱歉,再试一次');
cardElement.className=“”;
}否则{
警报('您找到了匹配项!')
};
cardsInPlay=[];
}
以下是完整的代码:


任何帮助都将不胜感激,因为这让我发疯!我希望在没有JQuery的情况下执行此操作。

您希望延迟
isMatch
检查,直到UI完成更新并且用户已经完成鼠标操作

if (cardsInPlay.length === 2) {
    setTimeout(function() {
        isMatch(cardsInPlay);
    }, 1000);
}

可能是精灵的复制品!非常感谢你。它困扰了我很多年,我试图找到的所有解决方案都非常复杂,几乎总是涉及JQuery。谢谢你的简单回答-非常感谢!
if (cardsInPlay.length === 2) {
    setTimeout(function() {
        isMatch(cardsInPlay);
    }, 1000);
}