progress bar

Steve·2022년 2월 15일
0
const [position, setPosition] = useState(0);

 function onScroll() {
    setPosition(window.scrollY);
 }
 
   useEffect(() => {
    window.addEventListener("scroll", scrollHandler);
     // window에 아예 설치를 해버렸기 때문에 언마운트될때도 작동 안하게 삭제해줘야함 -> return
    return () => {
      window.removeEventListener("scroll", scrollHandler);
      // 언마운트 되기 직전에 이 이벤트가 제거됨.
    };
  }, []);
return(
		<div className="progressMainWrapper">
          <div
            className="progressMainStyle"
            style={{ width: `${position}%` }}
          >
           </div>
        </div>
)

document.documentElement.scrollTop : 스크롤되어 올라간 많큼의 높이 (가변값)
document.documentElement.scrollHeight : 전체 높이 (고정값)
document.documentElement.clientHeight : 눈에 딱 보이는 높이 (고정값)

profile
Front-Dev

0개의 댓글