在Javascript的文本框中连续显示while循环的迭代

瓦利德

嗨,我正在尝试在文本框中连续显示 while 循环的迭代。但是,浏览器会一直等到循环结束,然后才显示最后的迭代。
我正在使用这个循环来运行一个复杂的函数,这意味着迭代会更慢,如果在控制台中显示,可以看到:

例如,我正在尝试做这样的事情。在 HTML 中:

    <p>
      <label>This is generation number</label>
      <input type = "number"
             id = "generation"
             />
    </p> 

在 JavaScript 中:

function Run(){

var i=0;

while (i<500) { 

document.getElementById('generation').value= i;

i++
        }
}
间隔

您不能同步进行(无while循环)。这会锁定浏览器并且不允许其他任何事情发生。不会发生任何绘制周期,并且看起来没有任何变化。

尝试将其分解为一个只执行一个步骤的函数,然后在超时时间内一遍又一遍地调用它。

    var updateEl = document.getElementById("generation");
    var i;

    function doStep() {
      //super crazy code
      updateEl.value = i;
      i++;
      if (i < 500) {
        timeout = setTimeout(doStep);
      }
    }


    function Run() {
      i = 0;
      doStep();
    }

如果你需要这个过程尽可能快,你想要setTimeout如果您想与画布的动画缓冲区同步或速度不是真正的问题,请使用requestAnimationFrame

更新

为了匹配@Brian 在下面的评论中所说的:

var updateEl = document.getElementById("generation");

function doStep(i) {
  //super crazy code
  updateEl.value = i++;
  if (i < 500) {
    timeout = setTimeout(() => doStep(i));
  }
}


function Run() {
  doStep(0);
}
<p>
  <label>This is generation number</label>
  <input type="number" id="generation"/>
</p> 
<button onclick="Run()">Run</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

while 循环后文本框空白

来自分类Dev

如何在JavaScript中循环浏览文本框

来自分类Dev

如何使用for循环在javascript中创建多个文本框?

来自分类Dev

在javascript中打印页面时显示文本框

来自分类Dev

文本未显示在文本框中

来自分类Dev

搜索文本框在文本框中显示元素

来自分类Dev

在文本框中显示计数

来自分类Dev

在文本框中显示建议

来自分类Dev

文本框未显示在GridView中

来自分类Dev

在文本框中显示代码

来自分类Dev

在文本框中显示密码

来自分类Dev

使tkinter在文本框中显示输出

来自分类Dev

在文本框中显示建议

来自分类Dev

文本框未显示在GUI中

来自分类Dev

在文本框中显示if语句的结果

来自分类Dev

在angularjs的文本框中显示建议

来自分类Dev

在文本框中逐行显示

来自分类Dev

在选择中显示文本框的值

来自分类Dev

将文本框中的数据从while循环提交到数据库

来自分类Dev

如何获取while循环内的文本框值?

来自分类Dev

如何在文本框中迭代 Unicode?

来自分类Dev

Javascript中的文本框数据

来自分类Dev

JavaScript中的文本框验证

来自分类Dev

删除Javascript中的文本框的问题

来自分类Dev

更改JavaScript中的文本框值

来自分类Dev

表单文本框中的JavaScript VAR

来自分类Dev

在javascript中更改文本框的值

来自分类Dev

在文本框中显示button的值,并在javascript中更改所选按钮的颜色

来自分类Dev

c#如何在while循环文本框,以便它在每次循环时更改文本框?