在jquery动画功能完成后触发滚动事件

时间:2017-11-24 12:48:08

标签: javascript jquery scroll

Here就是一个例子。

如果检查控制台,您会注意到在滚动动画期间多次记录Scroll Fired,动画完成后,将调用回调函数并记录ANIMATION DONE。但是,之后还有一个Scroll Fired日志。

为什么会这样?我该如何预防?

1 个答案:

答案 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');
});

我刚添加了一个变量,显示动画是否已完成以停止滚动事件代码。