Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅在javascript中按下按钮后继续下一个循环迭代?_Javascript_Jquery_Loops - Fatal编程技术网

如何仅在javascript中按下按钮后继续下一个循环迭代?

如何仅在javascript中按下按钮后继续下一个循环迭代?,javascript,jquery,loops,Javascript,Jquery,Loops,我有类似的代码: for(i = 0; i < array_of_questions.length; i++){ // call function that gathers necessary data + appends question to screen // Now it needs to wait until the user presses a button to continue on to the next iteration. Right now it is se

我有类似的代码:

for(i = 0; i < array_of_questions.length; i++){
  // call function that gathers necessary data + appends question to screen
  // Now it needs to wait until the user presses a button to continue on to the next iteration. Right now it is set up like this:

  $("#submit_button").on('click', function() {

            //save data

        });
}
for(i=0;i
我现在的问题是它正确地调用了函数。。。对于所有迭代。on click函数定义了如果单击了按钮,但之后循环继续,会发生什么。我总是留下最后一个问题


解决此问题的最佳方法是什么?

您不需要在任何循环中附加
单击
处理程序

使用全局变量作为数组索引的计数器,并在每次单击按钮时递增它:

var array_of_questions = ["Question1", "question2", "question3"];
var counter = 0;

$("#submit_button").on('click', function() {
  //save data
  if (counter < array_of_questions.length) {
    $("#display").append("<div>" + array_of_questions[counter] + "</div>");
    counter++;
  }
});
var数组_of_questions=[“Question1”、“question2”、“question3”];
var计数器=0;
$(“#提交按钮”)。在('单击',函数()上{
//保存数据
if(计数器<问题数组长度){
$(“#显示”)。追加(“+问题数组”[计数器]+”);
计数器++;
}
});
演示:

var数组_of_questions=[“Question1”、“question2”、“question3”];
var计数器=0;
$(“#提交按钮”)。在('单击',函数()上{
//保存数据
if(计数器<问题数组长度){
$(“#显示”)。追加(“+问题数组”[计数器]+”);
计数器++;
}
});

点击我!

根本不循环?在回调函数中执行所有操作,并使用全局变量跟踪您的i。我们无法了解您的问题,请详细说明,如果可能,请共享屏幕截图。@XDreamCodeing尽管这样做可以,我希望找到一种可以与循环一起使用的解决方案——这种东西在这个特定的程序中经常出现,因此有一种方法来循环它将非常有用。你必须掌握异步编程的概念。这对任何类型的循环都不起作用,因为回调不是为此而构建的。