当用户在网站上向下滚动时(我使用来自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
仅在动画结束时注册最后两个日志。
导致这种行为的原因是什么?
答案 0 :(得分:0)
实际上,我在错误的地方搜索。
真正的问题是我使用CSS3不透明度转换为元素设置样式。当我尝试将任何其他操作应用于使用相同属性的同一元素时,我遇到了这个问题。
看起来他们并没有很好地在一起玩。