首页 > 解决方案 > 游戏结束后js如何显示打错次数?

问题描述

题目会随机显示,如果你在文本框中写了(相同值、不同值、空值)中的任何一个,单击并按下确定按钮,即使值不完全一样,你也会进入下一个问题相同的。重复此过程 5 次后,我想显示错误输入的数量。

标签: javascript

解决方案


看看这个 if/else if 块:

document.addEventListener("keypress", function(e) {

  if(e.key === questionList[question].charAt(index) ){
    document.forms[0].elements[0].value = "";
    index++;

  } else if (e.key === 'Shift') {
    ;

  } else if(index == questionList[question].length){
    document.forms[0].elements[0].value = "";
    index++;

  } else if(e.key !== questionList[question].charAt(index)){
    typecount++;
  } else {
    typemiss++;
  }
});

开头的 if 语句检查: e.key === questionList[question].charAt(index)

else 之前的 else if 语句检查这一点: e.key !== questionList[question].charAt(index)

一个或另一个将是真实的。这意味着它永远不会到达你让typemiss计数器递增的地方。

我没有检查以下是否完全符合您的要求,但它可以帮助您找到错误:

document.addEventListener("keypress", function(e) {
  var isTyping = false;

  if(e.key === questionList[question].charAt(index) ){
    document.forms[0].elements[0].value = "";
    index++;
    isTyping = true;

  } else if (e.key === 'Shift' || e.key === 'Alt') {
    ;

  } else if(index == questionList[question].length){
    document.forms[0].elements[0].value = "";
    index++;

  } else if(e.key !== questionList[question].charAt(index)){
    typemiss++;
    isTyping = true;
  }

  if (isTyping) {
    typecount++;
  }
});

推荐阅读