js for循环中如何延迟执行
3个回答
展开全部
不到万不得已、山穷水尽的地步,请尽量不要在循环中做延迟处理,因为这会造成整个网页都卡住甚至崩溃,应该尽量利用定时器或计时器去解决。
比如下面这个for循环是依次显示0到9这十个数字,由于未做延迟处理,整个过程是瞬间完成的:
<span id=test></span>
<script>
for(var i=0;i<10;i++){
document.querySelector("#test").innerHTML+=i+" ";
}
</script>
如果要实现每隔1秒显示一个数字,则这样:
<span id=test></span>
<script>
var i=0;
setTimeout(function x(){
document.querySelector("#test").innerHTML+=i+++" ";
if(i<10)setTimeout(x,1000);
},1000);
</script>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把要执行的事件放到定时函数里面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询