我知道有多个 Q 要求这样做。但这些都很老,而且不活跃,是否有任何新的方法或解决方法或想法。
我想要的是区分滚动事件。?
假设我在函数上添加了一个类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
类自动删除后触发动画,我想要的是仅在用户滚动页面时才删除此类。任何帮助将不胜感激。谢谢你。
答案 0 :(得分:1)
因为您使用的是jQuery animate,所以您可以使用:
:animated Selector:选择运行选择器时动画进度中的所有元素。
因此您的滚动事件将是:
$(window).on('scroll',function(e){
if (!$('html,body').is(':animated')) {
$('.thisClass').removeClass('max-limit');
}
});