[DAY - 60] #6 팀프로젝트(mobile 작업)

2023. 5. 26. 19:57·🔥 부트캠프-웹 개발 🔥/이젠제주투어(팀프로젝트)

항공권 모바일

    <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
    <script>
        let swiperMd = new Swiper(".mySwiper_md", {
            scrollbar: {
                el: ".swiper-scrollbar"
            },
        });
        let swiperBene = new Swiper(".mySwiper_bene", {
            pagination: {
                el: ".swiper-pagination",
            },
        });
        let swiper = new Swiper(".mySwiper_air", {
            pagination: {
                el: ".swiper-pagination",
            },
        });
    </script>

 

pc버전에선 순수 javascript인 vanilla script로 구현을 했고, mobile 버전에선 swiper 플러그인을 사용했다.

 

hotel
hotel2

<div class="swiper-slide" data-map="1">
    <li>
        <a href="#"><img src="images/hotel/content2/hotel1.jpg" alt=""></a>
        <span class="hotel_type">호텔 | 제주시 서부</span>
        <strong>WH호텔 제주</strong>
        <p>229,000<span> 원</span></p>
    </li>
</div>
<div class="swiper-slide" data-map="3">
    <li>
        <a href="#"><img src="images/hotel/content2/hotel2.jpg" alt=""></a>
        <span class="hotel_type">리조트 | 제주시 동부</span>
        <strong>한해리조트</strong>
        <p>88,000<span> 원</span></p>
    </li>
</div>
<div class="swiper-slide" data-map="2">
    <li>
        <a href="#"><img src="images/hotel/content2/hotel3.jpg" alt=""></a>
        <span class="hotel_type">펜션 | 제주시</span>
        <strong>히든클리펜션</strong>
        <p>301,000<span> 원</span></p>
    </li>
</div>
        let swiper1 = new Swiper(".mySwiper_rec", {
            slidesPerView: 1,
            spaceBetween: 30,
            loop: true,
            pagination: {
                el: ".swiper-pagination",
                clickable: true,
            },
            navigation: {
                nextEl: ".swiper-button-next",
                prevEl: ".swiper-button-prev",
            },
            on: {
                slideChange: function () {
                    let hotelAct = document.querySelector('.mySwiper_rec .swiper-slide-active');
                    let H_recoJMap = document.querySelectorAll('.hotelCon .jeju .inner .jeju_hotel .img .maps img')
                    let num = hotelAct.dataset.map-1;
                    H_recoJMap.forEach(element => {
                        element.style.display = 'none'
                    });
                    H_recoJMap[num].style.display='block'
                }
            }
        });

 

pc 버전에선 호텔 이미지에 hover 시 해당 호텔의 위치가 지도에 표시되도록 했는데 mobile에선 hover를 쓸 수 없으므로 하나의 호텔만 나타나게 script를 작성하고 스와이프 시 그에 맞는 지도가 나타나도록 해 보았다.

swiper에서 액션을 하게 되면 표시되는 요소에 active class가 부여되는데 이 점을 이용하여 해당 요소를 가져온 후 data-를 추출해 지도가 바뀌도록 구현했다.

 

rent
rent2

'🔥 부트캠프-웹 개발 🔥/이젠제주투어(팀프로젝트)' 카테고리의 다른 글
  • [DAY - 90] 팀프로젝트 mobile.ver
  • [DAY - 52] #5 팀프로젝트(기획서 작성)
  • [DAY - 51] #4 팀프로젝트(html, css, script 취합)
  • [DAY - 47] #3 팀프로젝트(바닐라스크립트 달력)
Yeonhub
Yeonhub
✨ https://github.com/yeonhub 📧 lsy3237@gmail.com
  • Yeonhub
    비 전공자의 Be developer
    Yeonhub
  • 전체
    오늘
    어제
    • 전체보기 (169)
      • 🔍 Tech 🔍 (19)
        • Front-End (11)
        • Back-End (4)
        • AI (1)
        • Server (1)
        • Etc (2)
      • 💡 원티드 프리온보딩 챌린지 💡 (14)
        • PRE-ONBOARDING_AI (11월) (1)
        • PRE-ONBOARDING_FE (2월) (2)
        • PRE-ONBOARDING_FE (1월) (2)
        • PRE-ONBOARDING_FE (12월) (9)
      • 🔥 부트캠프-웹 개발 🔥 (118)
        • HTML5 (7)
        • CSS3 (21)
        • JavaScript (27)
        • JavaScript_advanced (9)
        • React (24)
        • Next (1)
        • MYSql (5)
        • Node (5)
        • 오늘하날(개인프로젝트) (12)
        • 이젠제주투어(팀프로젝트) (7)
      • 💻 CS 💻 (1)
        • 알고리즘 (1)
      • ⚡ 코딩테스트 ⚡ (11)
        • JavaScript (11)
      • 📚 Books 📚 (6)
        • 클린 아키텍처 (2)
        • 인사이드 자바스크립트 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    react native admob
    프론트엔드 테스트코드
    react native analytics
    라스콘4
    Node
    expo fcm push
    react native expo fcm
    expo google map
    expo map
    node fcm
    bottom sheet
    react vite
    expo 지도
    expo node fcm
    node crontab
    php node
    rn admob
    node.js fcm
    expo deep linking
    node cron
    expo admob
    react native bottom sheet
    라스콘
    expo 길찾기
    react native firebase analytics
    python node
    javascript fcm
    rn bottom sheet
    컴파운드 컴포넌트 패턴
    expo fcm
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Yeonhub
[DAY - 60] #6 팀프로젝트(mobile 작업)
상단으로

티스토리툴바