다음 섹션이 이전 섹션을 덮는듯하게 보이는 효과입니다.
https://unpkg.com/gsap@3/dist/gsap.min.js
https://unpkg.com/gsap@3/dist/ScrollTrigger.min.js
두 라이브러리를 사용했습니다.
한 섹션만 덮는 효과를 내고 싶으면
sec3->sec4
sec3을 sec4가 덮는 느낌을 내고 싶다면
let panels = gsap.utils.toArray(".section");
.section 부분에 .sec3 을 넣어줘야합니다.
html
<div class="section sec1">
<span class="text">section 1</span>
</div>
<div class="section sec2">
<span class="text">section 2</span>
</div>
<div class="section sec3">
<span class="text">section 3</span>
</div>
<div class="section sec4">
<span class="text">section 4</span>
</div>
css
body{
padding:0; margin:0;
}
.section{
width:100%; height:100vh;
position:relative;
}
.section .text{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
font-size:90px;
font-weight:600;
color:#fff;
border:10px solid #fff;
padding:80px;
}
.sec1{
background:red;
}
.sec2{
background:orange;
}
.sec3{
background:green;
}
.sec4{
background:blue;
}
javascript
let panels = gsap.utils.toArray(".section");
let tops = panels.map(panel => ScrollTrigger.create({trigger: panel, start: "top top"}));
panels.forEach((panel, i) => {
ScrollTrigger.create({
trigger: panel,
start: () => panel.offsetHeight < window.innerHeight ? "top top" : "bottom bottom",
pin: true,
pinSpacing: false
});
});
'coding > web' 카테고리의 다른 글
php $_SERVER 자주쓰는 종류 REMOTE_ADDR SERVER_NAME SCRIPT_NAME (0) | 2023.12.20 |
---|---|
javascript tab menu 탭메뉴 클래스만 붙여서 만들기 (0) | 2023.12.13 |
javascript typed.js 사용법 텍스트 타이핑 효과 (0) | 2023.12.11 |
css 햄버거 메뉴버튼 클릭 시 x버튼 (닫기버튼)으로 변경 click 이벤트 close button (0) | 2023.12.11 |
jquery 부드럽게 흘러가는 marquee 효과 전광판 (0) | 2023.12.08 |