1
在JavaScript函數結束之前是否有修改和更新文檔的方法?例如(不是我實際上做的,但足夠接近):在函數結束之前更改文檔
function longloop(){
for(var i=0;i<100;i++){
x = someLengthyFunction();
document.getElementById('aTable').innerHTML+='<tr><td>' + x + '</td></tr>';
}
}
這個功能得到由按下一個按鈕叫,我想隨着循環的進行更新的表。我在那裏只會在循環結束時顯示更新的表格。
你是否支持IE瀏覽器? – user113716 2011-02-28 00:04:05
不需要IE,這只是一個副項目。 – 2011-02-28 00:11:30
好的,那麼只需注意另一件事。通過在循環中執行'.innerHTML + ='
回答
不,這是不可能的。
您需要做的是分割部分循環,並在更新文檔後使用
window.setTimeout
繼續下一部分。例子:
來源
2011-02-28 00:03:59 Guffa
這絕對是web workers的工作。您可以將上述腳本作爲工作人員運行,以定期傳遞消息來更新您的內容。但是由於只有非常現代的瀏覽器才能利用網絡工作者,並且JavaScript不是線程語言,所以您可能必須非常創造性地編寫該循環才能完成此操作。
來源
2011-02-28 00:01:57 kojiro
相關問題