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