从数组中添加图像,在循环完成之前不会刷新内容
Adding images from array, content not refreshed until loop finishes
我有一些代码可以循环遍历 base 64 图像数组,为每个图像创建一个新元素并将其附加到div。
for(var i = 0; i<500; i++){
var image = document.createElement('img');
image.src = 'data:image/png;base64,' + base64Data;
image.alt = fileName;
chapter.appendChild(image);
}
我的问题是在整个数组完成之前不会显示图像。我需要一些帮助来确保每个图像在附加到div 后都显示。这样,如果数组很长,我仍然可以在处理其余图像时显示初始图像。
谢谢
尝试使用 setTimeout:
var container, arr, counter, insertImages;
arr = ['xyz', 'abc'];
counter = 0;
container = document.getElementsByTagName('body')[0];
insertImages = function () {
var src, image;
// Get the next src, create & inject the element
src = arr[counter];
image = document.createElement('img');
image.src = src;
container.appendChild(image);
// Increment the counter and repeat (if necessary)
counter++;
if ( counter < arr.length ) setTimeout(insertImages, 50);
};
// Kick it off
insertImages();
您也许可以减少超时延迟 - 看看什么有效
相关文章:
- 仅当javascript的新内容出现时,才每3秒更新一次javascript
- 如何在Ajax加载新内容时停止JavaScript执行
- 点击后,永久更改内容;悬停时,简要显示新内容
- 导致出现新内容块的标记(谷歌地图)
- CSS转换后用新内容替换空白
- 在内容刷新或更新时调整iframe的大小
- 当用户到达页面右侧时加载新内容
- 如何使用jQuery显示新内容
- 使用 Javascript 在页面末尾附加新内容
- jQuery弹出显示旧内容,而不是新内容
- D3,移除点以用新点刷新
- jQueryAJAX将数据重新加载到DOM中,或者使用新数据刷新DOM
- 插入数据并用新数据刷新数据网格后,关闭弹出窗口
- JSON加载新内容后访问元素
- 加载新内容时调整iframe的高度
- JqueryUI(手风琴)效果在替换为新内容后无法加载
- 删除现有内容并附加新内容
- 如何在 while 循环中清除 DIV 并添加新内容
- JavaScript在获取新内容的同时对高度进行动画处理
- Javascript替换内容并用来自outerHTML的新内容刷新它