跳过主要内容

获取与特定 ScrollTrigger 触发动画相关联的滚动位置。

也许你想要将页面滚动到某个特定滚动触发动画开始(或结束,或任意进度值)的确切位置——只需将这个辅助函数传入你的动画(当然它必须包含一个ScrollTrigger),以及可选的进度值(0 表示动画开始,0.5 表示中间点,1 表示结束),该函数会返回滚动位置,你可以将其用于一个scrollTo动画中,例如:

function getScrollPosition(animation, progress) {
let p = gsap.utils.clamp(0, 1, progress || 0),
st = animation.scrollTrigger,
containerAnimation = st.vars.containerAnimation;
if (containerAnimation) {
let time = st.start + (st.end - st.start) * p;
st = containerAnimation.scrollTrigger;
return (
st.start + (st.end - st.start) * (time / containerAnimation.duration())
);
}
return st.start + (st.end - st.start) * p;
}

它甚至可以与“containerAnimation”功能一起使用:

加载中...