js中setInterval的使用问题4
发布网友
发布时间:2023-10-02 09:51
我来回答
共3个回答
热心网友
时间:2023-11-19 18:20
问题如下
1. setInterval(timer, 8), 8是8毫秒啊,8毫秒你的电脑能完成10000次循环吗?没等跑完8毫秒过去了,timer()再次执行,又10000,一般人的电脑肯定跑不了
2. 你向body标记里面写内容的同时div不就被删除了么?poll里面还试图向这个div里面写东西,不通
建议把setInterval(time,8)改成setInterval(time, 1000)
两个for循环都改成10,测试成功了再改成大的数值。代码也帮你修改了一下,这个符合逻辑
<script>
function timer(){
for(var j=0;j<10;j++){
var el=document.getElementsByTagName("div")[0];
el.innerHTML+="这是第"+j+"个数<br />";
}
}
function poll(){
window.setInterval(timer,1000);
for(var j=0;j<10;j++){
var el=document.getElementsByTagName("div")[1];
el.innerHTML="这是div"+j+"个数<br />";
}
}
</script>
<body onload="poll()">
<div style="border:solid 1px red;height:50px;width:200px"></div>
<div style="border:solid 1px red;height:50px;width:200px"></div>
<body/>
热心网友
时间:2023-11-19 18:21
每8秒执行一次 for(var j=0;j<10000;j++),程序会完全卡死的。因为运算不过来,不能这样写。
热心网友
时间:2023-11-19 18:21
你要先明白setInterval是什么意思,每8ms执行一次timer