停止Javascript并在用户交互后继续

停止Javascript并在用户交互后继续,javascript,jquery,html,Javascript,Jquery,Html,所以我用javascript做了一个思维/记忆游戏,你可以和电脑玩。如果两张卡匹配,则会出现一个弹出窗口。问题是,当电脑找到这两张牌,弹出窗口出现时,他继续在弹出窗口的背景下玩。我希望脚本在用户关闭弹出窗口时停止并继续 这是一段包含弹出窗口的代码,我将其作为一个警报。还有别的办法吗 function checkIdentity() { if(clicks[0].imageNum == clicks[1].imageNum) { countPairs();

所以我用javascript做了一个思维/记忆游戏,你可以和电脑玩。如果两张卡匹配,则会出现一个弹出窗口。问题是,当电脑找到这两张牌,弹出窗口出现时,他继续在弹出窗口的背景下玩。我希望脚本在用户关闭弹出窗口时停止并继续

这是一段包含弹出窗口的代码,我将其作为一个警报。还有别的办法吗

function checkIdentity()
{
    if(clicks[0].imageNum == clicks[1].imageNum)
    {
        countPairs();
        imagesInGame.deleteElementByValue(clicks[0].imageNum, 'imageNum');
        openedImages.deleteElementByValue(clicks[0].imageNum, 'imageNum');
           alert(messages[clicks[1].imageNum]);  

        gotLastPair = player;
        waitASecond = false;
        clicks.clean();
    checkForGameEnd();
    }
    else
    {
        allPlayers[player]['failures']++;
        turnId = setTimeout(function() { hidePics() }, timeout);
    }
}
var Alert = new CustomAlert();

var messages = 
{
    1: "pop up message",
    2: "pop up message",
    3: "pop up message",
    4: "pop up message",
    5: "pop up message",
    6: "pop up message",
    7: "pop up message",
    8: "pop up message",
    9: "pop up message",
    10: "pop up message",
    11: "pop up message",
    12: "pop up message",
    13: "pop up message",
}
这就是电脑对手所做的

function checkForPairsInOpenedImages(obj)
{
    if(obj)
    {
        for(var i=0; i<openedImages.length; i++)
        {
            if(obj.divNum != i && openedImages[i].imageNum == obj.imageNum)
            {
                computerPics.push(openedImages[i]);
            return true;
            }
        }
    }
    else
    {
        for(var i=0; i<openedImages.length; i++)
        {
            for(var j=0; j<openedImages.length; j++)
            {
                if(j != i && openedImages[j].imageNum == openedImages[i].imageNum)
                {
                    computerPics.push(openedImages[i]);
                    computerPics.push(openedImages[j]);
                    return true;
                }
            }
        }
    }
    return false
}

function computerShowPics()
{
    setTimeout( function() { showPic(computerPics[0], true) }, 500);
    setTimeout( function() { showPic(computerPics[1], true) }, 1500);
}

你能在你的代码中插入一条注释来触发弹出窗口,然后在你的代码中插入另一条注释来继续执行吗?调用弹出窗口时,你可以将某个变量allow_play设置为false,计算机将始终与该值进行比较,无论该值是否为真,所以当它不为真时,它将不会继续选择卡片