728x90
스크롤시 아래서 위로 올라오는 애니메이션 처리하고 싶을때!
간단하게 설명하면 스크롤되는 높이값을 측정해서 그 높이에 있는 element에 active class를 추가하여 처리해주면된다!
코드는 아래와 같다
1. html 코드
<section class="container">
<h2>Caption</h2>
<div class="text-container">
<div class="text-box">
<h3>Section Text</h3>
<p>Random text</p>
</div>
<div class="text-box">
<h3>Section Text</h3>
<p>Random text</p>
</div>
<div class="text-box">
<h3>Section Text</h3>
<p>Random text</p>
</div>
</div>
</section>
2. css
.reveal{
position: relative;
transform: translateY(150px);
opacity: 0;
transition: 2s all ease;
}
.reveal.active{
transform: translateY(0);
opacity: 1;
}
3. js
window.addEventListener("scroll", function(){
var sections = document.querySelectorAll(".reveal")
for (var i = 0; i < sections.length; i++) {
var windowHeight = window.innerHeight;
var elementTop = sections[i].getBoundingClientRect().top;
var elementVisible = 150;
if (elementTop < windowHeight - elementVisible) {
sections[i].classList.add("active");
} else {
sections[i].classList.remove("active");
}
}
});
#참고
728x90
'WEB' 카테고리의 다른 글
input box clear 버튼 사용하기 (0) | 2022.02.03 |
---|---|
나도 할수있는 페이스북 pixel 연동하기 (결제 정보 포함) (0) | 2020.11.19 |
구글 애널리틱스 시작하기(전자 상거래 이용 포함) (0) | 2020.11.18 |
HTML 특수문자 사이트 (0) | 2020.02.11 |
Select 박스 커스텀이 귀찮아서 div로 Select Box 만들어 버리기 (0) | 2020.02.07 |