数组排序后显示更改
style.display changing after Array Sort
我想在排序前显示一条简单的加载消息,但在排序后显示从none变为block,即使我在之后调用排序。我甚至尝试使用setTimeout(2秒)来更改显示,然后调用一个伪函数来对内容进行排序。
function sort(i) {
document.getElementById("loading").style.display = "block";
array.sort(function(a, b) {
return a[i].localeCompare(b[i]);
});
}
当JS忙于工作时,浏览器不会急于重新绘制页面(假设可能会有其他DOM更改,他们应该一起批处理以进行重新绘制)。
您需要释放事件循环,以便在两个语句之间重新绘制。
将对array.sort
的调用移动到函数中,并在延迟后调用它(例如使用setTimeout
或requestAnimationFrame
)。
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 以angular.js显示数组
- Javascript中的多维数组排序索引问题
- 我想使用Javascript中的循环在HTML中的特定id中显示数组中的多个对象
- Javascript-如何在窗体上方显示数组的值
- 在表中显示数组对象
- 在两个位置显示数组中的随机单词
- 如何显示数组中的图像?JavaScript
- 在页面上显示数组
- 如何按日期对Javascript对象数组排序
- 如何使用JavaScript/AngularJS在控制台中显示数组长度
- 流星:显示数组数据,因为表在添加新列时给出了重复值
- 数组排序后显示更改
- 当许多元素相等时,Javascript数组排序无法正常工作
- Javascript数组排序速度受字符串长度的影响
- 显示数组的内容
- 如何在 JavaScript 中显示数组的所有元素
- jQuery:如何在不使用每个循环的情况下显示数组的第一个元素
- Jquery UI 自动完成中的 PHP 显示数组