我想使用setInerval使每秒增量高达1,000,000,000。
(function counterIt(starting,speedPerSecond){
var speed=0;
var intervalCount=1;
if(speedPerSecond<100){
extraSpeed=1;
speed=1000/speedPerSecond;
}else{
extraSpeed=speedPerSecond/1000;
speed=1;
if(extraSpeed>1000){
intervalCount=extraSpeed/1000;
extraSpeed=extraSpeed/intervalCount;
}
}
document.getElementById('counter').innerHTML=starting;
for(var interval=0;interval<intervalCount;interval++){
setInterval(function(){
for(var i=0;i<extraSpeed;i++){
document.getElementById('counter').innerHTML=parseInt(document.getElementById('counter').innerHTML)+1;
}
},speed);
}
})(0,1000000);
我想做的是。 间隔时间仅为1毫秒。 另一个是循环。(许多区间+循环)
浏览器的增量速度是否有限制? 或者有最好的方法吗?
谢谢。
答案 0 :(得分:0)
浏览器的增量速度是否有限制?
是。 spec说
如果嵌套级别大于5,而超时小于4,则将超时增加到4。
这意味着,在5次调用处理程序之后,最小延迟为4毫秒。
此外,请注意,使用setInterval
进行小超时会很危险,因为如果处理程序运行的时间超过超时,则可能会冻结浏览器。
相反,请考虑在处理程序的末尾使用setTimeout
。