通过Javascript循环更改DOM元素的值
下面的代码在控制台中记录一个值0到100,其间有1000ms的延迟。但它并没有按预期更新DOM元素div.innerHTML。如何通过带延迟的JS循环更改DOM元素值。看起来setTimeout在循环中不起作用 HTML文件通过Javascript循环更改DOM元素的值,javascript,html,Javascript,Html,下面的代码在控制台中记录一个值0到100,其间有1000ms的延迟。但它并没有按预期更新DOM元素div.innerHTML。如何通过带延迟的JS循环更改DOM元素值。看起来setTimeout在循环中不起作用 HTML文件 <div id="output"></div> <script> var obj=document.getElementById("output"); for(var i=0;i<100;i++){ obj.innerHTML
<div id="output"></div>
<script>
var obj=document.getElementById("output");
for(var i=0;i<100;i++){
obj.innerHTML=i.toString();
(function(i){
setTimeout(function(){
console.log(i);
}, 1000 * i)
})(i);
}
</script>
var obj=document.getElementById(“输出”);
对于(var i=0;i您必须将innerHtml
放入setTimeout
var obj=document.getElementById('output');
对于(变量i=0;i<100;i++){
(职能(一){
setTimeout(函数(){
obj.innerHTML=i.toString();
},1000*i)
})(i) );
}
尝试在循环内分配给innerHTML
,否则循环不会影响HTML。在setTimeout
回调内,但是是的^