【发布时间】:2012-08-14 21:23:43
【问题描述】:
我正在尝试在 javascript 中调用耗时的函数之前向用户加载“正在加载”消息。
HTML:
<p id='foo'>Foo</p>
Javascript:
var foo = document.getElementById('foo');
function tellViewerLoading() {
// Tell the user that loading is occuring.
foo.innerHTML = 'loading...';
}
function someActionThatTakesALongTime() {
// Do some action that takes a long time.
var i = 0;
while(i < 100000) {i++; console.log(i);};
}
function domUpdateDelayExperiment() {
tellViewerLoading();
someActionThatTakesALongTime();
}
domUpdateDelayExperiment();
JSFiddle:http://jsfiddle.net/johnhoffman/xDRVF/
我希望在调用 tellViewerLoading() 后立即更新 DOM。
相反,DOM 似乎在someActionThatTakesALongTime() 完成运行后更新。此时,显示加载消息是没有用的。
如何告诉 javascript 在调用 tellViewerLoading() 后立即更新 DOM?
【问题讨论】:
标签: javascript dom