티스토리 뷰
let text = document.querySelectorAll(".content__item__desc");
text.forEach((el,i) => {
let splitText = el.innerText; // 글자들을 선택해서 변수로 저장
let splitWrap = splitText.split('').join("</span><>span aria-hidden='true'>"); // 글자를 하나씩 쪼개고
splitWrap = "<span aria-hidden='true'>" + splitWrap + "</span>"; // span으로 묶음
el.innerHTML = splitWrap; // 묶은것을 다시 출력해줌.
el.setAttribute("aria-label", splitText)
})
function scroll(){
let scrollTop = window.screenY || window.pageYOffset || document.documentElement.scrollTop;
document.querySelector(".scrollTop span").innerText = Math.round(scrollTop);
document.querySelectorAll(".content__item").forEach(item => {
if(scrollTop>item.offsetTop){
item.querySelectorAll(".content__item__desc span").forEach((span,index) => {
setTimeout(()=>{
span.classList.add("show");
}, 50 * (index+1))
})
}
})
requestAnimationFrame(scroll)
}
scroll();
스크롤을 내릴때 각 이미지별로 글자가 한글자씩 출력되게 효과를 주었습니다.
여기서 포인트는 .split() 명령어를 통해 배열처리된 글자를 한글자씩 쪼개주고
.join()을 이용하여 쉽게 span처리 할 수 있게 만드는 것입니다.
나머지 css적인 부분과 스크립트는 이전 효과들과 동일합니다.
'Script Sample > Parallax Effect' 카테고리의 다른 글
Parallax Effect 07 - 리빌 효과 (0) | 2022.03.11 |
---|---|
Parallax Effect 05 - 이질감 효과 (0) | 2022.03.08 |
Parallax Effect 04 - 나타나기 (0) | 2022.03.08 |
Parallax Effect 03 - 숨김 메뉴 (0) | 2022.03.07 |
Parallax Effect 02 - 사이드 메뉴 (0) | 2022.03.07 |
댓글
© 2018 webstoryboy