1 回答

TA貢獻1880條經驗 獲得超4個贊
您的瀏覽器僅在完成運行循環的任務后才會執行渲染步驟while
。因此,只有在while 循環完全完成所有迭代后才會顯示結果。相反,您可以setTimeout()
每毫秒對多個單獨的任務進行排隊1000
,這將更新您的瀏覽器 UI。每次任務運行時,您的瀏覽器都可以重新運行渲染步驟以顯示所做的更改。
請參閱下面的示例:
var pushups = 0;
var pushupGoal = 5;
function doExercise() {
? document.getElementById("pushup1").innerHTML = ++pushups + ' pushups';
? if (pushups < pushupGoal) {
? ? setTimeout(doExercise, 1000);
? } else {
? ? document.getElementById("pushup1").innerHTML = pushups + ' pushups. You reached your goal!';
? }
}
<link rel="stylesheet" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<div class="container justify-content-center">
? <h1>Pushups</h1>
? <h4 id="pushup1">0 pushups</h4>
? <button class="btn btn-primary" onclick="doExercise()">Start</button>
</div>
添加回答
舉報