Javascript JS:用户滚动的默认设置?还是强制GSAP在用户上滚动?

Javascript JS:用户滚动的默认设置?还是强制GSAP在用户上滚动?,javascript,jquery,gsap,Javascript,Jquery,Gsap,我正在制作幻灯片。我想使其水平滚动将触发一个动画,该动画将可滚动区域移动到下一个“幻灯片” 一切都正常,但只要我滚动一点点。如果我滚动更多,GSAP滚动动画会无声地失败 有两种方法可以解决这个问题,我可以想到: 1>第一个是取消滚动行为,如下所示: $viewing_area.scroll( function(event) { if(animationIsInProgress) { event.preventDefault(); } } 但这种方式可能也会阻止GSAP

我正在制作幻灯片。我想使其水平滚动将触发一个动画,该动画将可滚动区域移动到下一个“幻灯片”

一切都正常,但只要我滚动一点点。如果我滚动更多,GSAP滚动动画会无声地失败

有两种方法可以解决这个问题,我可以想到:

1>第一个是取消滚动行为,如下所示:

$viewing_area.scroll( function(event) {
   if(animationIsInProgress) {
       event.preventDefault();
   }
}
但这种方式可能也会阻止GSAP滚动。无法区分滚动是由于GSAP还是我所知道的用户造成的

2>第二种方法是让GSAP强制它滚动用户正在做的任何事情:

TweenLite.to($viewing_area, time, { 
    scrollTo: { x: slide_stops[nextTarget] }, 
    ease: Power4.easeInOut,
    onComplete: function() {
        console.log('scrolling completed');
        animationIsInProgress = false;
    }
    //Some option for forcing the behavior over user scrolling
});

这些事情是可以实现的,还是滚动本身就不可阻挡?

最后,GSAP scroll to plugin有这样一个设置:

它被称为autokill,如果设置为false,用户滚动将不会中断tween

TweenLite.to(myDiv, 2, {scrollTo:{y:400, autoKill:false}, ease:Power2.easeOut});