我创造了一个记忆,我几乎完成了所有这些。我剩下的问题是,在setTimeout函数中,
setTimeout(function(){
for(i = 0; i < guesses.length; i++){
if(clearedPairs[i] != i){
var reset = document.getElementById(cardPosition[i]);
reset.removeAttribute("style");
}
}
score.innerHTML = parseInt(score.innerHTML,10) - 10;
resetValues();
}, 800);
如果另一张卡片发生咔嗒声,当它等待将两张打开的卡片重新打开时,播放器将会收到额外的减号,而这不是应该发生的事情。有人可以帮忙吗?
如果需要,我可以发布更多代码。
答案 0 :(得分:0)
您可以使用变量来监视您的状态:在setTimeout函数中,将其设置为true
。完成后点击可以接受,请将其设置为false
。然后在您的点击处理程序中使用if
语句来检查状态。
var inFunction = false;
setTimeout(function(){
inFunction = true;
for(i = 0; i < guesses.length; i++){
if(clearedPairs[i] != i){
var reset = document.getElementById(cardPosition[i]);
reset.removeAttribute("style");
}
}
score.innerHTML = parseInt(score.innerHTML,10) - 10;
resetValues();
inFunction = false;
}, 800);
这是否解决了您的问题?