JavaScript。代码未执行。用户界面未更新

标签 javascript user-interface

当更新用户界面的代码行在使系统忙碌一段时间的代码块之前执行时,UI 不会更新。 请看下面的代码:

 <html>
   <body>
    <div id="acc">
       <input type="text" value="start" id="id1"/>
       <input type="text" value="e0" id="id2"/>
    </div>
    <script>
      myFunction();
      function myFunction() {  
         document.getElementById("id1").value="1";
         var j=true;
         for(var i=0;j==true;i++){
            document.getElementById("id2").value="e"+i;  
            if(i==999999)
             j=false;
         }
         document.getElementById("id1").value="2";
       }
    </script>
  </body>
</html>

值 1 永远不会分配给输入文本 (id1)。 就像 JavaScript 代码没有同步执行一样。

有人可以帮忙吗?

最佳答案

您需要使代码异步,如下所示;

 <html>
   <body>
    <div id="acc">
       <input type="text" value="start" id="id1"/>
       <input type="text" value="e0" id="id2"/>
    </div>
    <script>
      myFunction();
      function myFunction() {  
         document.getElementById("id1").value="1";
         setTimeout(function(){
            for(var i=0;i<=999999;i++){
               document.getElementById("id2").value="e"+i;  
            }
            document.getElementById("id1").value="2";
          },5);
       }
    </script>
  </body>
</html>

关于JavaScript。代码未执行。用户界面未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929669/

相关文章:

javascript - 谷歌分析帮助 - 'Tracking Not Installed'?

javascript - 从 javascript 中的字符串数组创建唯一 ID?

css - 如何更改 ionic3 中模态的位置?

php - 代码可以在 jsfiddle 中运行,但不能在 localserver 中运行

javascript - 如何动态增加JS中的div id

css - Twitter Bootstrap Navbar 布局在谷歌浏览器中中断

ios - 预加载多个本地 WebView

python - wxPython - 使用 DC 绘制一个未填充的矩形

java - 从同一层次结构级别的节点重绘节点

css - 没有 JavaScript 的 Web UI 框架