GSAP动画开始时间
GSAP animation start time
我正在使用 GSAP 制作动画。我正在为两个盒子制作动画,粉色盒子和蓝色盒子。 2s 后首先启动。我希望蓝框动画从顶部中心视口点开始。但是这两种动画都是在页面加载后立即发生的。我需要使用时间线来实现它吗?我希望蓝色框在进入其中心后开始动画 point.I 我是 GSAP 的新手。请帮忙理解。
下面是 Codepen link。
https://codepen.io/Ashleshadb/pen/QWpPdbK
gsap.registerPlugin(ScrollTrigger);
gsap.from(".pink", {
x: -300,
duration: 2,
delay: 2,
opacity: 0,
});
gsap.from(".blue", {
opacity: 0,
duration: 3,
x: -400,
ScrollTrigger: {
trigger: ".blue",
start: "top center",
end: "bottom",
},
});
.redBorder {
border: 2px solid red;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.pink {
background-color: pink;
padding: 2em;
height: 100px;
width: 100px;
}
.greenBorder {
border: 2px solid green;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.blue {
background-color: blue;
padding: 2em;
height: 100px;
width: 100px;
}
<div class="redBorder">
<div class="pink">Red Box</div>
</div>
<div class="greenBorder">
<div class="blue">Blue Box</div>
</div>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/gsap-latest-beta.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/ScrollTrigger.min.js"></script>
对于 class .blue
的框,添加与 class .pink
的框相同的行为参数:
gsap.from(".blue", {
x: -300,
duration: 2,
opacity: 0,
...
同样,但是当滚动到 class 框时调用 scrollTrigger
触发上述参数 .blue
:
scrollTrigger: {
trigger: ".blue"
}
gsap.registerPlugin(ScrollTrigger);
gsap.from(".pink", {
x: -300,
duration: 2,
opacity: 0,
});
gsap.from(".blue", {
x: -300,
duration: 2,
opacity: 0,
scrollTrigger: {
trigger: ".blue"
},
});
.redBorder {
border: 2px solid red;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.pink {
background-color: pink;
padding: 2em;
height: 100px;
width: 100px;
}
.greenBorder {
border: 2px solid green;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.blue {
background-color: blue;
padding: 2em;
height: 100px;
width: 100px;
}
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/gsap-latest-beta.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/ScrollTrigger.min.js"></script>
<div class="redBorder">
<div class="pink">Red Box</div>
</div>
<div class="greenBorder">
<div class="blue">Blue Box</div>
</div>
我正在使用 GSAP 制作动画。我正在为两个盒子制作动画,粉色盒子和蓝色盒子。 2s 后首先启动。我希望蓝框动画从顶部中心视口点开始。但是这两种动画都是在页面加载后立即发生的。我需要使用时间线来实现它吗?我希望蓝色框在进入其中心后开始动画 point.I 我是 GSAP 的新手。请帮忙理解。 下面是 Codepen link。 https://codepen.io/Ashleshadb/pen/QWpPdbK
gsap.registerPlugin(ScrollTrigger);
gsap.from(".pink", {
x: -300,
duration: 2,
delay: 2,
opacity: 0,
});
gsap.from(".blue", {
opacity: 0,
duration: 3,
x: -400,
ScrollTrigger: {
trigger: ".blue",
start: "top center",
end: "bottom",
},
});
.redBorder {
border: 2px solid red;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.pink {
background-color: pink;
padding: 2em;
height: 100px;
width: 100px;
}
.greenBorder {
border: 2px solid green;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.blue {
background-color: blue;
padding: 2em;
height: 100px;
width: 100px;
}
<div class="redBorder">
<div class="pink">Red Box</div>
</div>
<div class="greenBorder">
<div class="blue">Blue Box</div>
</div>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/gsap-latest-beta.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/ScrollTrigger.min.js"></script>
对于 class .blue
的框,添加与 class .pink
的框相同的行为参数:
gsap.from(".blue", {
x: -300,
duration: 2,
opacity: 0,
...
同样,但是当滚动到 class 框时调用 scrollTrigger
触发上述参数 .blue
:
scrollTrigger: {
trigger: ".blue"
}
gsap.registerPlugin(ScrollTrigger);
gsap.from(".pink", {
x: -300,
duration: 2,
opacity: 0,
});
gsap.from(".blue", {
x: -300,
duration: 2,
opacity: 0,
scrollTrigger: {
trigger: ".blue"
},
});
.redBorder {
border: 2px solid red;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.pink {
background-color: pink;
padding: 2em;
height: 100px;
width: 100px;
}
.greenBorder {
border: 2px solid green;
padding: 4em;
height: 100vh;
margin-bottom: 3em;
}
.blue {
background-color: blue;
padding: 2em;
height: 100px;
width: 100px;
}
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/gsap-latest-beta.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/ScrollTrigger.min.js"></script>
<div class="redBorder">
<div class="pink">Red Box</div>
</div>
<div class="greenBorder">
<div class="blue">Blue Box</div>
</div>