我试图在非常密集的 JavaScript 期间创建一个加载栏,其中构建和填充了一些非常重的 3d 数组。在用户单击按钮之前,此加载栏需要保持空白。
无论我是否使用,都会发生冻结-webkit-transition
(这个应用程序可以是 chrome 独有的,在我的情况下不需要跨浏览器)。
寻求简单我已经建立了这样的酒吧......
<div id="loader">
<div id="thumb">
</div>
</div>
...然后试图在我的主for
循环的各个阶段增加该栏:
for(i = 0; i < 5 ; i++){
document.getElementById('thumb').style.width = i*25 + '%';
//More Code
}
问题是一切都冻结了,直到 JavaScript 完成。我在 Stack Overflow 上发现了一个类似的问题,在 javascript 计算时使用 CSS 动画,在评论中发现并考虑和/或尝试了以下内容:
网络工作者
不要认为它会起作用,因为我的脚本正在用对象和构造函数填充数组,这些对象和构造函数包含根据本网站无法正常工作的函数
jQuery
不是一个选项,我不能在我的应用程序中使用外部库 - 无论如何,仅为加载栏导入整个库似乎有点矫枉过正......
关键帧
这是有希望的,我试过了,但最后它也冻结了,所以没有快乐
timeOut()
s想过这个,但既然加载栏的目的是减少挫败感,增加等待时间似乎适得其反
我很乐意在这个阶段增加条形,即使它不平滑!我很确定这不仅仅是我一个人遇到的问题——也许有人有一个有趣的解决方案?
PS:我将其作为一个新问题发布,而不是添加到引用的问题中,因为我专门寻求 JavaScript(不是 jQuery)的帮助,并且如果我可以使用宽度上的转换(!=动画)来获得它,我更愿意.