我正在尝试从 barber.js 站点实现基本的 GSAP 淡入/淡出演示。
测试页一的标记如下:
<body style="background-color: red; color: white;" data-barba="wrapper" data-barba="page1">
<h3>Constant</h3>
<main data-barba="container" data-barba-namespace="home">
<h1>Page 1</h1>
<a href="barba2.php" title="go to gae 2">go to page 2</a>
</main>
测试页2的标记如下:
<body style="background-color: white; color: red;" data-barba="page2">
<h3>Constant</h3>
<main data-barba="container" data-barba-namespace="home">
<h1>Page 2</h1>
<a href="barba1.php" title="go to gae 1">go to page 1</a>
</main>
在每个页面的底部使用以下 JS:
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.3.4/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@barba/core"></script>
<script>
barba.init({
//sync: true,
transitions: [{
name: 'opacity-transition',
leave(data) {
return gsap.to(data.current.container, {
opacity: 0
});
},
enter(data) {
return gsap.from(data.next.container, {
opacity: 0
});
}
}]
});
</script>
离开当前页面时,旧元素会淡出 OK,但是新元素会出现在早期的一小部分下方,这意味着我有两个元素,当旧元素消失时,新元素会跳起来?
有没有办法让新的只有在旧的完成后才开始出现?