我正在使用带有barba.js的GSAP来创建平滑的页面转换,但我有一个无法调试的错误。转换本身按预期工作,页面淡入淡出,发生 pjax 调用,页面内容更新,然后新页面内容淡入。
但是,一旦页面淡入,如果我通过转到另一个页面来重复转换,淡入不透明度会在达到其最终值“1”之前卡住。我已经跨页面对此进行了测试,无论使用哪个进入/离开页面,第一个转换总是正确的。
我的问题是为什么?这是我使用 GSAP 的 barba.js:
barba.init({
transitions: [{
name: 'test-transition',
leave(data) {
return gsap.to(data.current.container, {
opacity: 0 // works correctly
});
},
afterLeave() {
reinitModal(); // works correctly
},
beforeEnter: ({ next }) => {
window.scrollTo(0, 0); // works correctly
reinitCounter(); // works correctly
reinitScripts(); // works correctly, note this doesn't reinitialise this jS file
},
enter(data) {
return gsap.from(data.next.container, {
opacity: 0 // problem child, only on cycles after the first one
});
}
}]
});
请参阅下面的控制台图像,显示在第二页加载时随机百分比停止不透明度。
有没有人遇到过这种情况,有已知的解决方案吗?