jQuery Animate:回调称为两次

时间:2015-11-09 13:56:36

标签: javascript jquery animation velocity.js

当用户在网站上向下滚动时(我使用来自onepage-scroll的afterMove回调)触发一组动画,并且在动画某些元素时,意外地,多次调用相同的函数。

使用它,我没有问题:

base = $('section[data-index="' + index + '"]');
base.find('h1').animate({opacity: 0.1}, 3000);
console.log('Finished #' + index);

移动到第3节后,我在控制台上输出了正确的数据。

Finished #2
Finished #3

但是当我尝试使用表格时,例如,

base.find('#my-form-id').animate({opacity: 0.1}, 3000);

这是输出:

Finished #2
Finished #3
Finished #2
Finished #3

仅在动画结束时注册最后两个日志。

导致这种行为的原因是什么?

1 个答案:

答案 0 :(得分:0)

实际上,我在错误的地方搜索。

真正的问题是我使用CSS3不透明度转换为元素设置样式。当我尝试将任何其他操作应用于使用相同属性的同一元素时,我遇到了这个问题。

看起来他们并没有很好地在一起玩。