THX*_*138 9 javascript jquery long-running-processes
我有一个javascript需要大约2秒钟来执行(复杂的优化算法).我想在函数的开头将某个范围设置为"working ...".我发现直到函数结束时,跨度才会改变.
如何强制DOM更改传播?或者我应该一起解决这个问题?
我通过onclick按钮调用该功能.
功能如下:
function optimize() {
$('#status').text('working...');
// calculate for 2 seconds
$('#status').text('done!');
}
Run Code Online (Sandbox Code Playgroud)
小智 11
尝试在setTimeout调用中包装长时间运行的代码:
function optimize() {
$('#status').text('working...');
window.setTimeout(function() {
// calculate for 2 seconds
$('#status').text('done!');
}, 0);
}
Run Code Online (Sandbox Code Playgroud)
这会强制为长时间运行的代码创建一个新的调用堆栈,允许在新的调用堆栈开始执行之前完成重绘(更改文本).
| 归档时间: |
|
| 查看次数: |
3648 次 |
| 最近记录: |