gpt4 book ai didi

javascript - 如何在插入大量 dom 元素时显示 'working' 指示器

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:11 25 4
gpt4 key购买 nike

在创建和插入 DOM 元素时,用于任务的函数似乎在元素显示在页面中之前返回。

在开始插入元素之前,我将 div 的显示属性设置为“ block ”,在插入元素之后,我将属性设置为“无”,问题是,指示器未显示在页面中。有可能实现这个吗?其中 $ 是 document.getElementById 的别名。

$('loading').className="visible";
var container = document.getElementById('container');
for(var i=0; i< 50000; i++){
var para = document.createElement('p');
para.appendChild(document.createTextNode('Paragraph No. ' + i));
container.appendChild(para);
}
$('loading').className="hidden";

它显示为 createElement 和/或 appendChild 异步运行,所以我几乎立即隐藏了指示器?

最佳答案

setTimeout() 就是答案。一个简单的“一行”更改:

$('loading').className="visible";
setTimeout(function() {
var container = document.getElementById('container');
for(var i=0; i< 50000; i++){
var para = document.createElement('p');
para.appendChild(document.createTextNode('Paragraph No. ' + i));
container.appendChild(para);
}
$('loading').className="hidden";
}, 0);

关于javascript - 如何在插入大量 dom 元素时显示 'working' 指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/502042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com