gpt4 book ai didi

javascript - 如何设置回调以在*之前* jquery 动画运行?

转载 作者:行者123 更新时间:2023-11-30 10:56:55 25 4
gpt4 key购买 nike

我正在尝试设置一个循环,让动画运行一定次数,并在每次动画迭代之前运行一个函数。不过,计时结束了——它运行回调 n 次,然后运行动画 n 次。例如:

for (var i=0;i<3;i++) {
console.log(i);
$('#blerg').animate({top:'+=50px'},75,'linear', function(){log('animated')});
}

输出

0
1
2
animated
animated
animated

在我切换到 jquery 之前,我用 scriptaculous 遇到了这个问题,并发现了一个“beforeSetup”动画回调。有等效的 jquery 吗?

最佳答案

动画是异步的。所以循环运行得非常快,开始三个动画并输出 1、2 和 3。一段时间后动画完成并输出动画 x 3。这可以解释你的输出。

一些递归怎么样?

do_animation(max_runs, total_runs) {
log();
if (total_runs < max_runs) {
$(foo).animate(..., do_animation(max_runs, ++total_runs));
}
}

做动画(3, 0);

试一试,让我知道它是如何运行的。

关于javascript - 如何设置回调以在*之前* jquery 动画运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/256628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com