<分区>
这是我想做的
for ( i=1; i<=1000; i+=100) {
setInterval(someFunction, i);
}
我想要实现的是,当页面加载时,框会出现,它的阴影会先慢后快地闪烁,并在 i=1000 时停止。 我是新手,到目前为止,我做到了this .
<分区>
这是我想做的
for ( i=1; i<=1000; i+=100) {
setInterval(someFunction, i);
}
我想要实现的是,当页面加载时,框会出现,它的阴影会先慢后快地闪烁,并在 i=1000 时停止。 我是新手,到目前为止,我做到了this .
最佳答案
是否可能?
是的。假设 someFunction
是对函数的引用或包含 JavaScript 代码的字符串,您的 for 循环将按原样“工作”,其中“工作”我的意思是“不会给出语法错误,但几乎可以肯定不会实现什么我想你真的很想做”。
setInterval()
function 重复 调用您传递给它的函数,每次调用之间有固定的(受浏览器怪癖影响)延迟。只要页面打开,它就会一直调用该函数,或者直到您使用 clearInterval()
取消它。
因此,通过在循环中调用 setInterval()
,您可以设置(在您的情况下)十个独立的间隔,所有这些间隔都会重复调用您的函数。第一个以 0 毫秒的间隔调用 someFunction
,这比浏览器实际使用的时间间隔小,因此将四舍五入到更接近 4 毫秒。第二个间隔将以 100 毫秒的间隔调用 someFunction
。第三个以 200 毫秒的间隔调用该函数。等等。在你的循环完成后,你的函数每秒将被重复调用的次数超过我计算的次数。
您真正想做的似乎是恰好调用 someFunction()
10 次,每次调用之间有 100 毫秒的延迟。如果是这种情况,您可以改用 setTimeout()
function在你的循环中,因为(每次使用)setTimeout()
将在指定的延迟后恰好调用你的函数一次。
关于javascript - FOR循环内的setInterval?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9509568/