Jquery 有没有新的方法来检测滚动事件是由用户还是动画创建的

Jquery 有没有新的方法来检测滚动事件是由用户还是动画创建的,jquery,scroll,Jquery,Scroll,我知道有很多人要求这样做。但这些都是非常古老的,不活跃的,是否有任何新的方法或解决办法或想法 我想要的是区分滚动事件 比方说,在触发动画后,我在函数上添加了一个类max limit: $(this).addClass('max-limit'); $('html,body').animate({ scrollTop: thS.offset().top - window.innerHeight / 2 }, 500); 问题是,在此之后,我通过滚动功能将其删除: $(window).on('s

我知道有很多人要求这样做。但这些都是非常古老的,不活跃的,是否有任何新的方法或解决办法或想法

我想要的是区分滚动事件

比方说,在触发动画后,我在函数上添加了一个类
max limit

$(this).addClass('max-limit');
$('html,body').animate({
  scrollTop: thS.offset().top - window.innerHeight / 2
}, 500);
问题是,在此之后,我通过滚动功能将其删除:

$(window).on('scroll',function(){
   $('.thisClass').removeClass('max-limit');
});

但是现在,由于我在
addClass
之后触发了一个动画,由于我的滚动功能,该类会自动删除,因此我只想在用户滚动页面时删除该类。如果需要任何帮助,将不胜感激。提前感谢。

因为您使用的是jQuery,您可以使用:

:选择在运行选择器时正在制作动画的所有元素

因此,您的滚动事件将是:

$(window).on('scroll',function(e){
     if (!$('html,body').is(':animated')) {
         $('.thisClass').removeClass('max-limit');
     }
 });