我正在使用 Barba.js 和 GSAP 为我的网站创建页面转换。在看了一些教程并摆弄了一下之后,我设法在两个页面之间创建了一个幻灯片过渡。事情是我还有其他 javascript 内容,用于每个页面上的其他功能元素。在第一页加载时,一切似乎都正常。
然后我单击一个链接转换到下一页,转换进行得很顺利,但突然之间,我在同一个 JS 文件中编写的所有元素都不再起作用了。
我仍然可以在每个页面之间完美转换,但其他 JS 内容似乎都没有工作。我在控制台中没有收到任何错误,所以我不知道这里到底发生了什么。
这是我的 Barba 初始化的样子。
barba.init({
sync: true,
transitions: [{
async leave(data) {
const done = this.async();
animationLeave();
await delay(1000);
done();
},
enter(data) {
animationEnter();
},
once(data) {
animationEnter();
}
}, {
name: 'home-transition',
to: {
namespace: ['home']
},
async once(data) {
homeAnimation();
}
}]
});
AnimationEnter、AnimationLeave 和 HomeAnimation 方法只是链接到 GSAP 动画。例如,这里是 AnimationLeave 的样子:
function animationLeave() {
var tl = gsap.timeline();
tl.to('.loading-screen', {
duration: 1,
width: '100%',
left: '0%',
ease: 'expo.easeInOut'
});
tl.to('.loading-screen', {
duration: .8,
width: '100%',
left: '100%',
ease: 'expo.easeInOut',
delay: .3
});
tl.set('.loading-screen', {
left: '-100%',
width: '0%'
});
}
任何帮助表示赞赏!