这就是我试图做的事情
for ( i=1; i<=1000; i+=100) {
setInterval(someFunction, i);
}
我想要实现的是,当页面加载时,框会出现,它的阴影会慢慢闪烁,然后快速闪烁,并在i = 1000时停止。 我是新手,到目前为止,我做过this。
答案 0 :(得分:2)
有可能吗?
是。假设someFunction
是对函数的引用或包含JavaScript代码的字符串,你的for循环将“按原样”工作,其中“work”我的意思是“不给出语法错误,但几乎肯定没有实现我的想象你真的很想“。
setInterval()
function调用您重复传递的功能,每次调用之间都有固定的(受浏览器怪癖)延迟。只要页面打开或者使用clearInterval()
取消它,它就会一直调用该函数。
因此,通过在循环中调用setInterval()
,您正在设置(在您的情况下)十个独立的时间间隔,所有这些时间间隔都会重复调用您的函数。第一个以0毫秒的间隔调用someFunction
,这比浏览器实际使用的小,因此将向上舍入到更接近4毫秒。第二个间隔将以100毫秒的间隔调用someFunction
。第三个以200毫秒的间隔调用该函数。等等。在你的循环结束后,你的函数每秒会被重复调用多次,而不是我可以计算的。
你真正想做的事情似乎是在每次通话之间拨打someFunction()
10次,延迟时间为100毫秒。如果是这种情况,您可以在循环中使用setTimeout()
function,因为(每次使用)setTimeout()
将在指定的延迟后调用您的函数一次。
答案 1 :(得分:1)
您不需要在循环中设置间隔以便多次运行它。
上阅读本教程