写了段代码,想在1s后执行一个函数,实现的是一个图片的移动效果,有三个图,第一个移动后过1s,第二个移动,过2秒后,第三个移动,要一直移动下去,直到跑到另一个页面才停止,如下:
setTimeout(demo_one.moveFunc1,10);
setInterval(moveFunc1,1000);
setTimeout(demo_one.moveFunc2,1000);
setInterval(moveFunc2,1000);
setTimeout(demo_one.moveFunc3,2000);
setInterval(moveFunc3,1000);moveFunc1= function(){
moveImg('img1', '40px', '10%', 2000);
}
moveFunc2= function(){
moveImg('img2', '40px', '10%', 2000);
}
moveFunc3= function(){
moveImg('img3', '40px', '10%', 2000);
}
其中moveImg是用来让图片移动一下,可是为什么第二个和第三个总是一起的,好像setTimeout没起作用,如果没有最后一句 setInterval(moveFunc3,1000),那么,只跑一次是对的,第三个图是第三次出现,然后移动,但是第三个图也需要循环的移动,加了 setInterval(moveFunc3,1000)后,第三个图和第二个图是叠在一起的,说明时间上是同时移动的,为什么最后一句的 setInterval(moveFunc3,1000);加上后会变成这样?
setTimeout(demo_one.moveFunc1,10);
setInterval(moveFunc1,1000);
setTimeout(demo_one.moveFunc2,1000);
setInterval(moveFunc2,1000);
setTimeout(demo_one.moveFunc3,2000);
setInterval(moveFunc3,1000);moveFunc1= function(){
moveImg('img1', '40px', '10%', 2000);
}
moveFunc2= function(){
moveImg('img2', '40px', '10%', 2000);
}
moveFunc3= function(){
moveImg('img3', '40px', '10%', 2000);
}
其中moveImg是用来让图片移动一下,可是为什么第二个和第三个总是一起的,好像setTimeout没起作用,如果没有最后一句 setInterval(moveFunc3,1000),那么,只跑一次是对的,第三个图是第三次出现,然后移动,但是第三个图也需要循环的移动,加了 setInterval(moveFunc3,1000)后,第三个图和第二个图是叠在一起的,说明时间上是同时移动的,为什么最后一句的 setInterval(moveFunc3,1000);加上后会变成这样?
setTimeout(fn1,1000);
setTimeout(fn2,2000);
setTimeout(fn3,3000);
这样才会每隔1秒依次调用。
setInterval(moveFunc2,1000);
setTimeout(demo_one.moveFunc3,2000);
setInterval(moveFunc3,1000);执行上面4句代码几乎是同时的。意思就是描红的计时器由于延时一样,基本描红的计时器的代码几乎同时运行,所以第二个和第三个总是一起的,那个时间差你几乎无法察觉
那把这句话放在moveitem里边的话,在重复执行的过程中,这个时间应该动态变化,第一次2000,第二次4000,第三次6000,怎么实现,这种效果的重复执行呢?
那把这句话放在moveitem里边的话,在重复执行的过程中,这个时间应该动态变化,第一次2000,第二次4000,第三次6000,怎么实现,这种效果的重复执行呢?
那把这句话放在moveitem里边的话,在重复执行的过程中,这个时间应该动态变化,第一次2000,第二次4000,第三次6000,怎么实现,这种效果的重复执行呢?