为什么这个javascript没有按预期运行?

ant*_*pug 1 javascript dom loops timeout

    function animateGraph() {
    var graph;
    for(i=0; i<10; i++)
    {
        var start = new Date();
        while((new Date()) - start <= 500) {/*wait*/}
        document.getElementById("timeMark").innerHTML = phoneX[i].epoch;

    }
}
Run Code Online (Sandbox Code Playgroud)

循环工作.等待有效.但是document.getElement直到数组中的最后一项才出现...为什么?

epa*_*llo 5

使用setTimeout将允许代码运行而不是锁定页面.这将允许它运行代码,不会影响页面上的其他元素.

var cnt = 0;
(function animateGraph() {
    document.getElementById("timeMark").innerHTML = phoneX[cnt].epoch;
    cnt++;
    if (cnt<10){
        window.setTimeout(animateGraph,500);
    }
})();
Run Code Online (Sandbox Code Playgroud)