프로젝트 - 무신사 Mobile

CHan·2023년 3월 14일
0

프로젝트

목록 보기
6/8
post-thumbnail

무신사 Mobile

  • 무신사 모바일 클론코딩
  • 2개의 스와이퍼 연결과 데이터 바인딩을 주로 이룬 프로젝트

1. Html + Css

(1) 마크업

  • 마크업에 있어서 크게 어려운 부분은 없다.
  • 각 섹션 별로 나눠주고 스크롤을 내리면 고정되는 gnb,
    하단에 고정된 nav, 우측 하단에 고정된 fix-btn으로 구성

  • 하단에 고정된 nav와 fix-btn은 공통 소스로 사용될 수 있기에
    preset.scss에 작성해준다.

2. JavaScript

(1) 스와이퍼 연결

  • 전문관 영역에서 버튼 스와이퍼와 콘텐츠의 스와이퍼가 연결 돼서
    버튼을 누르면 그에 맞는 스와이퍼로 이동하는 코드

  • 스와이퍼에서 thumbs gallery의 코드를 이용하면 구현할 수 있다.
    밑에 작은 사진들을 버튼이라 생각하고 메인 이미지를 콘텐츠라고 본다면
    연결이 가능하다.

  • 스와이퍼의 thubms를 이용해서 btnSwiper와 연결해주면 된다.

(2) 데이터 연동

  • 각 브랜드 버튼을 누를 때 그에 맞는 데이터들이 출력되는 코드
  • json을 활용한 데이터 연동

  • 먼저 각 버튼에 알맞는 데이터들의 값을 담은 json 파일을 만들어주고 저장해준다.

  • html 코드에서는 data-sort를 이용하여 각각의 값이 일치하는 데이터들이 나오도록 설정해준다.

  • 변수 sort에 내가 누른 데이터의 sort 값을 저장시켜주고 prdList에 던져준다.
  • 던져준 sort 값을 가지고 반복문을 돌려 데이터 값이 나오게 만들어준다.

  • result라는 변수에 데이터 필터를 걸어서 원하는 데이터 값만 나오도록 해준다.
  • indOf(num)의 값이 있으면 0 없으면 -1이 나올텐데 값이 있을 경우에 출력돼야 하니
    0보다 크거나 같으면 된다.

(3) 천 단위의 콤마 정규식

  • replace는 정규표현식이 매칭되는 항목을 " " 안에 있는 값으로 변환 시키는 것
  • g(global)는 문자열 내의 모든 패턴을 검색해서 천 단위로 콤마를 넣어준다.

(4) trigger

  • 페이지가 열릴 때 버튼에 강제로 클릭 효과를 주고 싶다면 trigger('click')을 사용한다.

3. 주의할 점

(1) 이미지의 크기 조절

  • 사진과 같이 이미지의 크기가 다를 경우 영역 잡기 어렵게 된다.
  • 이럴 경우 이미지를 감싸고 있는 상위 요소에 position 값과 padding 값을 변경해주면 된다.

  • 다시 확인해보면 이미지의 크기가 동일하게 적용된다.
profile
Hello World!

0개의 댓글