今回はJavaScriptのアニメーションライブラリ、『GSAP』を用いてスクロール位置に連動して画像を広げる方法をご紹介いたします。
非常にシンプルにソースコードが収まりました。ぜひ最後までご覧いただけると嬉しいです。
【Swiper】真ん中に2つのカード+両端が見切れたスライダーの作り方【デモあり】目次 非表示
1.実装イメージ
実装イメージは以下の通りです。
See the Pen GSAP prallax-img-extend by りょーすけ (@s_ryosuke_1242) on CodePen.
コピペしてすぐに実務で実装できるようにしております。
注意点としては予め、CDNでプラグインをダウンロードしておきましょう。
必要なファイルは『gsap.min.js』『ScrollTrigger.min.js』の2つです
2.HTML
HTMLはコチラの通りになっています。比較的シンプルですね
<section class="spacer"></section>
<section class="parallax-area">
<div class="img-wrapper">
<img src="https://ryo-sukeblog.net/wp-content/uploads/2022/05/mv03.jpg" alt="" srcset="">
</div>
</section>
3.CSS
次にCSSです。
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
html{
width: 100%;
}
body{
width: 100%;
}
main{
width: 100%;
}
.spacer{
width: 100%;
height: 95vh;
}
.parallax-area{
width: 100%;
}
.img-wrapper{
width: 100%;
height: 90vh;
position: relative;
overflow: hidden;
}
.img-wrapper img{
position: absolute;
left: 0;
bottom: 0;
}
4.JavaScript
最後にJavaScriptです
const tl = gsap.timeline();
tl
.from('.img-wrapper',{
width:'60%',
scrollTrigger:{
trigger:'.img-wrapper',
start:'top bottom',
end:'top top',
toggleActions:'play none none reverse',
scrub:2,
}
})
.to('.img-wrapper img',{
y:'15%',
scrollTrigger:{
trigger:'.img-wrapper',
start:'top top',
toggleActions:'play none none reverse',
scrub:2,
}
},'<')