我有两个可能(或可能不)相关的屏幕刷新问题。我可以清楚地重现的一个涉及进行一系列 ajax 调用。在每次调用之间,我都会更新 jQuery 对话框中的文本以显示进度。在该过程结束时,我隐藏了对话框。
当我使用调试面板在 Chrome 中运行此代码并在每个 ajax 调用之前或之后放置一个断点时,对话框会正确更新。如果我只是让代码运行而不中断,则屏幕根本不会刷新。
我尝试在每个 ajax 调用之间引入等待循环,但这并不能解决问题。这是代码的编辑版本:
$('#saving').show();
$('#savingSpan').text('Saving Analysis');
$('#savingReport').text('Saving Header: ');
$('#savingInputs').text('Saving Inputs: ');
$('#savingResults').text('Saving Results: ');
$('#savingComplete').text('Doing Cleanup: ');
wait(250);
$('#savingReport').append('Started...');
var status = saveReport();
$('#savingReport').append('Complete.');
wait(250);
$('#savingInputs').append('Started....');
status = saveInputs();
$('#savingInputs').append('Complete.');
wait(250);
$('#savingResults').append('Started....');
status = saveResults();
$('#savingResults').append('Complete.');
wait(250);
$('#savingComplete').append('Started....');
status = saveComplete();
$('#savingComplete').append('Complete.');
$('#saving').hide();
另一个问题是,当我的页面最初加载时,它的主要部分是空白的,直到我将鼠标悬停在页面的该部分上。然后我将鼠标移过的区域正确显示。