我遇到過DOM瀏覽器在瀏覽器運行所有迭代時(即while,for,-loops)纔會生效的問題。DOM操作無法立即執行
例子:
var text = document.getElementById("text");
for (var i = 0; i < 100000000; i++) {
if (i % 1000000 == 0) {
setTimeout(function() {
text.innerHTML += "|";
}, 0);
}
}
<p id="text"></p>
我希望看到一個進度十歲上下的行爲,而不是當他通過了環跑DOM只操縱。
我嘗試了setTimeout的異步方法,但沒有成功。
有沒有一個很好的方法來實現這一目標?
感謝,但如果我的操作(環)必須是同步的? – InsOp
那麼,無論函數必須在進度欄「滿」時調用,都可以通過「進度完成」消息在塊中調用。這在技術上不是同步的,但我認爲在很多情況下它是更好的程序設計,因爲它是非阻塞的。 –
沒有其他方式沒有重組我的externs函數充滿了幾十for循環? – InsOp