javascript - 如何制作一个js数组列表,一一打印出来?

标签 javascript

对于我正在制作的一个小游戏,当在输入字段中给出正确答案时,需要将数组列表一个一个地放入一个 html 元素中。当答案错误时,需要用透明颜色打印该单词。

我已经尝试过使用 for 循环,但这会一次输出所有字符串,而不是一个一个地输出。我读到我应该使用++,但不知道如何使用。

它应该按照正确的顺序逐一打印单词(这样句子就变得可读)。该代码目前没有给出任何错误,但没有给出所需的结果。

form.onsubmit = (e) => {
    var essay = ["Slow", "Reading - ", "Carolyn", "Strauss", "By", "definition,", "‘reading’", "goes", "well", "beyond", "the", "grasping", "of", "written", "characters", "and", "the", "realm", "of", "ideas", "they", "express.", "Applied", "to", "environments,", "systems,", "and", "relationships,", "‘reading’"];
    var tekst = "";
    var i;
    for (i = 0; i < essay.length; i++) {
      tekst += essay[i];
    }
    if (input.value === text.style.color) {
      goodAnswers++;
      document.getElementById("essaywords").innerHTML = essay[i];
    }
    // here you do what ever supposed to happen after a good answer
    else {
      badAnswers++;
      document.getElementById("essaywords").innerHTML = "False!";
      // here you do what ever supposed to happen after a wrong answer


      setColor();
    }

最佳答案

也许你的意思是这样的?

无论如何,这都是一个开始

var essay = ["Slow", "Reading - ", "Carolyn", "Strauss", "By", "definition,", "‘reading’", "goes", "well", "beyond", "the", "grasping", "of", "written", "characters", "and", "the", "realm", "of", "ideas", "they", "express.", "Applied", "to", "environments,", "systems,", "and", "relationships,", "‘reading’"];

var cnt = 0,
  goodAnswers = 0,
  badAnswers = 0;
document.getElementById("form").addEventListener("submit", (e) => {
  if (cnt >= essay.length) return;
  e.preventDefault(); // stop actual submission    
  if (document.getElementById("textInput").value === "yes") { // I do not know what you mean by text.style.color
    goodAnswers++;
    document.getElementById("essaywords").innerHTML += essay[cnt]+" ";
  } else {
    badAnswers++;
    document.getElementById("essaywords").innerHTML += '<span style="color:white">' + essay[cnt] + ' </span>'
  }
  cnt++
})
<form id="form">
  <input type="text" id="textInput" value="" />
  <input type="submit" value="GO" />
</form>
<div id="essaywords"></div>

关于javascript - 如何制作一个js数组列表,一一打印出来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56562198/

相关文章:

javascript - 可以设置聚焦的 Google map 标记的样式吗?

javascript - 使用 Kris Kowal 的问题。如果在链式 promise 的整个生命周期中抛出任何错误,我应该如何捕捉?

Javascript 千位分隔符/字符串格式

javascript - 如何对html文档中的所有行使用函数

javascript - AngularJS 对自定义指令的单向绑定(bind)

javascript - Typescript -w(watch) 在我的安装中不起作用

javascript - 关于使用类名称定位第一个前一个最接近元素的问题

javascript - 获取两个字符之间的所有字符串的数组(正则表达式 + JavaScript)

javascript - array.forEach 的 thisArg 没有按预期引用

javascript - 使用 RegEx JS 替换字符串中的字符