Javascript 暂停脚本以获取按钮输入

Javascript 暂停脚本以获取按钮输入,javascript,loops,Javascript,Loops,我还不知道如何暂停这个脚本(两次)以获得按钮点击的结果。它旨在显示一系列问题和答案。代码如下: let counter = 0; while (counter < 3) { counter++; var x = document.getElementById("divC"); if (x.style.display === "none") { x.style.display = "block"; } els

我还不知道如何暂停这个脚本(两次)以获得按钮点击的结果。它旨在显示一系列问题和答案。代码如下:

let counter = 0;
while (counter < 3) {
  counter++;
  var x = document.getElementById("divC");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
document.getElementById('divA').innerHTML = question[counter];
document.getElementById('divB').innerHTML = '<button id="myBtn">Show Answer</button>';
document.getElementById('myBtn').addEventListener("click", function (){
document.getElementById("divB").innerHTML = answer[counter];
  var x = document.getElementById("divC");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
})
document.getElementById('divC').innerHTML = '<button id="myBtn2">Continue</button>';
document.getElementById('myBtn2').addEventListener("click", function (){
document.getElementById("divC").innerHTML = "";
})
}
let计数器=0;
while(计数器<3){
计数器++;
var x=document.getElementById(“divC”);
如果(x.style.display==“无”){
x、 style.display=“block”;
}否则{
x、 style.display=“无”;
}
document.getElementById('divA').innerHTML=question[counter];
document.getElementById('divB')。innerHTML='Show Answer';
document.getElementById('myBtn')。addEventListener(“单击”,函数(){
document.getElementById(“divB”).innerHTML=answer[counter];
var x=document.getElementById(“divC”);
如果(x.style.display==“无”){
x、 style.display=“block”;
}否则{
x、 style.display=“无”;
}
})
document.getElementById('divC')。innerHTML='Continue';
document.getElementById('myBtn2')。addEventListener(“单击”,函数(){
document.getElementById(“divC”).innerHTML=“”;
})
}
在我把它放入一个while循环之前,一切都正常。然后,它只是将代码快速遍历到最后一个数组元素。谢谢你能为老人提供的一切帮助

我不知道如何暂停这个脚本


我相信你在找那个。这里有一个

如果我正确理解了问题,您希望在显示每个问题后收集用户输入,对吗

问题 JavaScript代码不能“暂停”,也不需要暂停,因为它将锁定整个页面,并且您将无法按下任何按钮。因此,while循环无法帮助您实现此功能

实际答案 您需要提取行,将divs文本更改为某些函数,并在单击按钮时运行该函数

应该是这样的

// store links to your elements in constants first
const divC = document.getElementById("divC")
const divB = document.getElementById("divB")
const divA = document.getElementById("divA")
const myBtn = document.getElementById("myBtn")

// declare some function that will toggle answer visibility
const toggleAnswerVisibility = function () {<your code goes here>}
// declare some function that will render next answer
const renderNextAnswer = function() {<your code goes here>}

// add event listener to show-answer-button to toggle answer visibility
<show-button element>.addEventListener("click", toggleAnswerVisibility);
// add event listener to continue-button to render next answer
<continue-button element>.addEventListener("click", renderNextAnswer);

//首先将指向元素的链接存储在常量中
const divC=document.getElementById(“divC”)
const divB=document.getElementById(“divB”)
const divA=document.getElementById(“divA”)
const myBtn=document.getElementById(“myBtn”)
//声明一些将切换答案可见性的函数
const toggleAnswerVisibility=函数(){}
//声明将呈现下一个答案的函数
const renderNextAnswer=函数(){}
//添加事件侦听器以显示答案按钮以切换答案可见性
.addEventListener(“单击”,toggleAnswerVisibility);
//添加事件侦听器以继续按钮以呈现下一个答案
.addEventListener(“单击”,RenderExtAnswer);
答案是这样的,但不要马上看这里,试着自己编写代码,然后查看链接

您可以使用提示功能暂停执行并获取用户输入,但这是错误的。您可以重新构造代码,使用一个保存当前步骤编号的变量,然后根据步骤编号更改显示,因此尽量合理命名(提供的链接中的示例),我花了很多时间试图理解divA/B/C和这两个按钮的作用。阅读关于
let
const
var
有点不受欢迎,我理解这是如何工作的,它非常有用。非常感谢。唯一的问题是,当脚本没有问题和答案时,如何结束脚本。将有100个问题。您可以将所有问题存储在数组中。只需检查计数是否达到数组长度,在屏幕上显示某种消息并隐藏所有按钮