繁体   English   中英

jQuery动画功能完成后,滚动事件触发

[英]Scroll event is firing after jquery animate function was done

是例子。

如果您检查控制台,您会注意到在滚动动画过程中多次记录了Scroll Fired并且一旦完成动画,就会调用回调函数并记录ANIMATION DONE 但是,此后又有一个Scroll Fired日志。

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

解决问题的方法如下

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM