【发布时间】:2019-04-18 21:16:36
【问题描述】:
我想在需要一段时间的操作期间显示加载程序,并在完成后隐藏。我的代码只是遍历所有表格行(大约 2000 行)并更新其单元格中的内容。
问题是这个加载器显示确实调用在代码执行之前没有触发,所以它不显示加载器。
$('#loader').fadeIn();
const $rows = $('.rows:checked');
for (let i = 0; i < $rows.length; ++i) {
const id = $rows[i].dataset.productId;
const $text = document.getElementById(`text-${id}`);
const $value = document.getElementById(`value-${id}`);
$value.textContent = value;
$text.textContent = text;
}
return $('#loader').fadeOut();
我希望加载器在循环开始之前显示,并在循环结束后隐藏。
【问题讨论】:
-
使用
window.onload事件或document.readydeveloper.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/… -
我忘了说这个函数是在点击按钮后触发的
-
您正在使用将冻结页面的 for 循环。如果你在 settimeout 中包装循环,那么它应该可以工作
标签: javascript jquery loops promise