去评论
推扬网

在JS脚本中,多个setInterval之间会出现干扰!大概原因是由于从上到下的执行顺序,导 ...

admin
2020/07/17 16:51:55

incNick的回答:

不能同时执行是肯定的,必然有一个先后次序,但是可以几乎是同时运行。
如果你确定是互扰的问题,可以只定义一个setInterval,例如
var timeIntervalNumber = 1;
var timeInterval = setInterval('doSomething()', 1000);
function doSomething() {
if (timeIntervalNumber % 2) {...}

if (timeIntervalNumber % 5) {...}

timeIntervalNumber ++;

if (timeIntervalNumber >= 2 * 5) {

timeIntervalNumber = 1;

}

}

asheng99012的回答:

js是单线程执行,setInterval是定时执行,从设定setInterval的时候,它的执行时间就定了,如果到时间了,碰巧线程被占了,那么此次setInterval的东东就被抛弃了,下次会继续执行,你可以试试 setTimeout

zhaoapk的回答:

代码拿出来看一下