@ 오늘은 개인프로젝트로 SNS 를 시작하게되었는데 우선 화면을 구현하게됬다. 인스타그램같은걸 참조하는관계로
구성이 비슷하게된것같다.
오늘 메인페이지를 구현하기시작하였고, 여기서 핵심인 본문영역에 오른쪽섹션이 마우스 스크롤이 내려옴에 따라서 같이 내려오게끔 해주려고 했다.
맨처음에 FIXED를 쓰니 트러블이 많은관계로 ABSOULTE 를 써서 구현해보았다.
@ 메인페이지 -구현(스크롤)
-> 위 화면과 같이 스크롤 움직임에따라 오른쪽 섹션이 같이 따라 움직이는걸 볼수있다.
우선 본문에 position:realtive 를 주고 오른쪽 섹션에 position:absolute 를 주고 left:0 을 하면 왼쪽그림과같이 위치할것이다.
이제 스크롤에 따라 오른쪽 섹션이 같이 이동하게 구현하려면 script를 사용해야될것이다.
@페이지가 로드 될때
-> 오른쪽섹션에 현재위치에 offset().top 값을 구해놓고 시작해야한다. 이걸 먼저 안구해놓고 시작하면 스크롤 이벤트가 시작할때 오른쪽섹션은 위에 헤더부분에 부분까지 포함하지않고 이동하게될것이고, 그렇게 이동하면 계산한것보다 헤더높이만큼 아래로 못미치게 이동하게될것이다.
@스크롤이 이동할때
1. 윈도우의 scrollTop() 값을구해놓는다.
( 현재 브라우저 창의 상단에서부터 스크롤바가 떨어져 있는 거리를 반환합니다. 즉, 창의 현재 스크롤 위치를 나타냅니다.)
2. 오른쪽 섹션의 화면에서부터 섹션하단까지 높이를 구해야된다.
먼저 오른쪽섹션에 offset().top값을구하고 , 해당섹션에.height() 높이값을 구한다 그리고 .위에 scrilltop() 구한값을 다 더해준다.(이렇게하면 화면에 아래로 이동함에있어 오른쪽섹션의 아래로 얼마나 이동됬는지 알수있을것이다.)
3. 맨아래 footer부분의 offset().top 값을 구해주고 if문을써서 위에서구한 오른쪽섹션 이동한거리가 footer의 offset.top값 보다 작으면 오른쪽섹션 의 top은 window.scrollTop() 만큼 이동하게 해줄것이다. 그러면 footer의 부분에 같아지면 더이상 밑으로 내려가지않을것이다. 그리고 다시 마우스를 위오 올릴떄 footer의offset.top값보다 작아지면 오른쪽섹션은 마우스따라 위로 올라갈것이다.
'국비교육' 카테고리의 다른 글
국비지원 78일차 (자바스크립트 - Json(ajax)) (1) | 2023.12.21 |
---|---|
국비지원 77일차 (다중 파일 업로드) (0) | 2023.12.15 |
국비지원 75일차 [팀프로젝트 - 여행동행사이트(회원관련기능)] (0) | 2023.12.12 |
국비지원 74일차 (스프링 - 복습) (0) | 2023.11.07 |
국비지원 73일차 (spring - 빈(bean)개념 , Controller,Service,Repository) (0) | 2023.11.07 |