繁体   English   中英

在JavaScript For循环期间更新DOM

[英]Update DOM during JavaScript For Loop

我遇到了我似乎无法克服的Java障碍。

在API调用循环运行时,是否有任何“更新”视图的方法?

例如:

for (var x =0; x<array.length; x++) {
//do an api call
console.log(“Processing “+x+” of “+array.length+” records.”);
};

上面将每个循环的x值输出到控制台。 但是,这:

for (var x =0; x<array.length; x++) {
var body = document.getElementById(“view_100”);
//do an api call
body.innerHTML = “Processing “+x+” of “+array.length+” records.”;
};

在所有循环完成之后才显示dom,然后仅显示x的最后一个值。

关于如何在长时间的javascript循环中使用户了解最新情况的任何想法?

 var array = [1,2,3,4,5] for (var x = 0; x<array.length; x++) { var body = document.getElementById("view_100"); //do an api call //append the text instead of reassigning body.innerHTML += "Processing "+(x+1)+" of "+array.length+" records."; /* cleaner way var message = document.createElement("p"); message.innerText = "Processing "+(x+1)+" of "+array.length+" records." body.append(message) */ }; 
 <div id="view_100"></div> 

您可以使用append元素

const body = document.getElementById(“view_100”);
for (var x =0; x<array.length; x++) {
    const statusEl = document.createElement('div');
    statusEl.innerHTML = `Processing ${x + 1} of ${array.length} records`
    //do an api call
    body.appendChild(statusEl);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM