.getTween
.getTween( snap:Boolean ) : Tween
Returns the scrub
tween (default) or the snapping tween (getTween(true)
)
Parameters
snap: Boolean
If
true
, the current snap tween will be returned (if snapping is in-progress) instead of the scrub tween.
Returns : Tween
The scrub (or snap) Tween instance
Details
Returns the **scrub**
tween (default) which is what gradually makes the animation catch up with the scrollbar position. Or if you call getTween(true)
, the **snap**
Tween will be returned instead (if there's a snap in-progress). This allows you to, for example, force the scrub
or snap
to its end or kill it, like:
let st = ScrollTrigger.create({
animation: myTween,
scrub: 1,
trigger: ".panel-1",
});
// then later...
st.getTween().progress(1); // force the scrub to its end to make it catch up with the current scroll position immediately
Or to interrupt a snap...
let anim = gsap.to(panels, {
x: () => (panels.length - 1) * window.innerWidth,
scrollTrigger: {
trigger: ".container",
snap: 1 / (panels.length - 1),
pin: true,
end: "+=3000",
},
});
// then later...
let snap = anim.scrollTrigger.getTween(true);
if (snap) {
snap.progress(1).kill(); // force the snap to its end and kill it
}
Obviously this is only helpful if a scrub
or snap
value is defined when you set up your ScrollTrigger.