我正在尝试制作 Hangaman 游戏,因此如果用户单击正确的字母“不绘制”类,如果他输入错误的字母,则会添加另一个类,但如果条件永远不会变为假,则似乎是这样>
else if(theClickedLetter !== wordGeuss){
e.target.classList.add('draw');
}
代码如下:
document.addEventListener('click', function(e) {
let theClickedLetter = e.target.textContent;
arrayGuess.forEach((wordGeuss, index) => {
if (theClickedLetter === wordGeuss) {
e.target.classList.add('dont-draw');
let n = Array.from(lettersGess.children);
n[index].textContent = theClickedLetter;
}
else if (theClickedLetter !== wordGeuss) {
e.target.classList.add('draw');
}
})
})
答案 0 :(得分:0)
所以首先认为你可以做的来测试正在发生的事情是你在最后添加一个 else 并查看逻辑在哪里结束。由于您没有提供完整的 HTML,我无法在测试端做太多事情,所以我只能建议您如何测试和可能的修复。这是带有其他代码的代码:
document.addEventListener('click', function(e) {
let theClickedLetter = e.target.textContent;
arrayGuess.forEach((wordGeuss, index) => {
if (theClickedLetter === wordGeuss) {
e.target.classList.add('dont-draw');
let n = Array.from(lettersGess.children);
n[index].textContent = theClickedLetter;
}
else if (theClickedLetter !== wordGeuss) {
e.target.classList.add('draw');
}
else {
console.log('ending up in else')
}
})
})
然后你就可以看到出了什么问题。可能的问题和修复是
if else
块之前打印两个变量,看看出了什么问题(看看值是否真正匹配并相应地进行调试)e.target.classList.add('draw');
,这可能是一个可能的解决方案