ci.jsx파일
현재 화면에 요소가 스크롤시 나타나면 점점 커지게 효과를 주고 싶었음 (로딩처럼 왼쪽 기준고정, 점점 width가 커져보이는 효과)
const updateScroll = () => {
const valueTop=ztColRef.current.getBoundingClientRect().top;
const viewHeight=window.innerHeight;
console.log('valueTop',valueTop);
console.log('window.innerHeight',viewHeight);
if(viewHeight>valueTop){
ztColRef.current.className='ztColStGr ztColStGrOn';
}else{
ztColRef.current.className='ztColStGr';
};
};
useEffect(()=>{
window.addEventListener('scroll', updateScroll);
return () => {
window.removeEventListener('scroll', updateScroll);
};
});
해당요소에 ref주기
<p className='ztColStGr' ref={ztColRef}></p>
css 로 전(ztColStGr), 후(ztColStGrOn) 효과 설정
.ztColStGr{
background: url('./../../img/zeta/zeta_gradient.png') no-repeat;
background-size: contain;
transform: scaleX(0);
transform-origin: left;
height:13.6rem;
margin: 0 auto;
position: relative;
}
.ztColStGrOn{
transform: scaleX(1);
transition:3.5s;
}
innerHeight 참고
https://nykim.work/56?category=692676
'cbp 프로젝트 진행' 카테고리의 다른 글
[2022.07.30] React.lazy사용시 SCSS 스타일 적용 오류 (0) | 2022.07.30 |
---|---|
[2022.07.30]사이트 느린 로딩 해결하기(React.memo + React.lazy) (0) | 2022.07.30 |
[2022.07.25] BreadCrumb 브레드크럼 만들기 (0) | 2022.07.24 |
[2022.07.23] 모달창 만들기 (0) | 2022.07.23 |
[2022.07.20] 클릭시 해당영역 top기준으로 이동하기 설정 오류 (0) | 2022.07.20 |