Here就是一个例子。
如果检查控制台,您会注意到在滚动动画期间多次记录Scroll Fired
,动画完成后,将调用回调函数并记录ANIMATION DONE
。但是,之后还有一个Scroll Fired
日志。
为什么会这样?我该如何预防?
答案 0 :(得分:1)
您的问题的快速解决方法可以是以下
var child = $('#container');
var onComplete = function () {
completed = true;
console.log('ANIMATION DONE');
};
var completed = false;
child.animate({scrollLeft: 50}, 300, onComplete);
child.scroll(function () {
if (!completed)
console.log('Scroll Fired');
});
我刚添加了一个变量,显示动画是否已完成以停止滚动事件代码。