이번 프로젝트는 그동안 배운 JavaScript와 jQuery를 활용하여 화려함을 보여주는 것을 목표로 하였습니다.
또한 SM이 우리나라 최고의 엔터테인먼트 기업인 만큼 세련된 이미지로 리디자인 하고자 하였습니다.
2023.07.18-2023.07.26
100 %
사용 기술
가나다AaBbCc0123 Regular
가나다AaBbCc0123 Medium
가나다AaBbCc0123 SemiBold
가나다AaBbCc0123 Black
AaBbCc0123 Medium
AaBbCc0123 SemiBold
AaBbCc0123 Bold
AaBbCc0123 Black
AaBbCc0123 Medium
AaBbCc0123 Bold
AaBbCc0123 Black
AaBbCc0123 UltraBold
스크롤을 내리면 특정 위치에서 svg가 그려지는 효과를 적용해야 하는 부분이 많았습니다. 한 번도 구현해 보지 않아서 어떻게 해야 할지 고민이 많았는데 여러 자료를 찾아보면서 해결할 수 있었습니다.
피그마에서 디자인 한 요소들을 svg로 변환시킨 후 HTML에 넣고 getTotalLength(); 속성을 통해 svg의 stroke-dasharray 값을 구해주었습니다. 그 후 scrollTop 속성으로 섹션의 높이 값을 구한 뒤에 원하는 위치에 도달했을 때 svg가 그려지도록 구현하였습니다.
마우스 포인터를 변경하고 커스텀 하는 방법은 알고 있었지만 특정 요소에 hover 했을 때
마우스 포인터를 변경하는 방법은 알지
못했습니다. 그러던 중 수업
시간에 배웠던 mousemove와 mouseenter 속성이 떠올라 적용시킬 수 있었습니다.
hover 했을 때 변경되었으면 하는 요소들에게 id 값을 부여해 주고 addClass와 removeClass를 활용하여 mousemove 되었을 때와 mouseenter 되었을 때 각각 다른 css가 적용될 수 있도록 하였습니다.
이번에 제작한 사이트는 섹션마다 배경 색상이 바뀌어서 위로 가기 버튼과 마우스 포인터의 색상이 하나로 지정되어 있으면 특정 섹션에서는 색상이 보이지 않는 경우가 있었습니다.
이를 해결하기 위해 scrollTop 속성으로 각 섹션의 높이를 구하고 특정 위치에 도달하면 원하는 색상으로 바뀔 수 있도록 하였습니다.
이번 프로젝트는 화려한 동작을 보여줄 수 있는 웹사이트를 만드는 것을 목표로 삼았습니다. 그래서인지 지금까지 진행했던 프로젝트 중에 가장 많은 우여곡절이 있었던 것 같습니다. 아무래도 제가 가장 어려워하던 JavaScript 속성들을 적용해야 했기 때문이라고 생각합니다.
사이트를 만들면서 아쉬웠던 점은 적용한 이벤트들이 매끄럽지 않은 부분이 있었습니다. 물론 최대한 노력했지만, 완벽하게 해내기 위해서는 더 많은 공부가 필요하다고 느꼈습니다.
좋았던 점은 그동안 JavaScript 개념을 배우고, 실제로 웹사이트를 만들 때 어떻게 적용시켜야 할지 감이 오지 않아서 힘들었는데 이번 프로젝트를 통해 많은 이벤트들을 적용시켜보고 배울 수 있어서 좋았습니다. 어렵다고 외면하던 부분들을 이번에는 포기하지 않고 끝까지 노력했기 때문에 좋은 결과가 나올 수 있었다는 생각이 듭니다.
이번 경험을 통해 어려워 보이더라도 여러 번 도전하고 끈기 있게 공부한다면, 무엇이든 구현할 수 있다는 자신감을 얻게 되었습니다. 이번 프로젝트를 통해 여러 가지 깨달음을 얻게 되어서 정말 감사했습니다 :)