用户交互后停止Javascript并继续

时间:2014-10-31 09:08:56

标签: javascript jquery html

所以我在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);
}

0 个答案:

没有答案
相关问题