• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 캐러셀에 스와이프 기능 만들기 숙제 & 터치이벤트 질문

캐러셀에 스와이프 기능 만들기 숙제 & 터치이벤트 질문

10 글 보임 - 1 에서 10 까지 (총 10 중에서)
  • 글쓴이
  • #53461

    길동이
    참가자
    마우스 클릭과 드레그는 되지만, 화면이 넘어가지 않습니다. vw를 반대로 주었을 때는 다음사진으로 이동은 하는데, 드레그가 100이 되지 않더라도
    다음 사진으로 이동합니다.
    무엇이 문제인지 답변 부탁드립니다.
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>이미지 슬라이드(캐러셀)</title>
        <link rel="stylesheet" href="style.css">
        <script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
    </head>
    <body>
       <div style="overflow: hidden;">
        <div class="container">
            <div class="slide-box">
                < img src="images/car1.png" alt="">
            </div>
            <div class="slide-box">
                < img src="images/car2.png" alt="">
            </div>
            <div class="slide-box">
                < img src="images/car3.png" alt="">
            </div>
        </div>
        </div>
    
            <script>
              let 시작좌표 = 0;
              let 눌렀냐 = false;
              $('.slide-box').eq(0).on('mousedown', function(e){
                시작좌표 = e.clientX;
                눌렀냐 = true;
              });
              $('.slide-box').eq(0).on('mousemove', function(e){
                if (눌렀냐 === true) {
                  $('.container').css('transform', `translateX( ${e.clientX - 시작좌표}px )`)
                }
              });
                
                
              $('.slide-box').eq(0).on('mouseup', function(e){
                눌렀냐 = false;
                if (e.clientX - 시작좌표 < -100) {
                  $('.container').css('transition', 'all 0.5s').css('transform', 'translateX(0vw)');
                } else {
                  $('.container').css('transition', 'all 0.5s').css('transform', 'translateX(-100vw)');
                }
                setTimeout(()=>{
                  $('.container').css('transition', 'none')
                }, 500)
              });
    
            </script>
    </body>
    </html>
    #53507

    codingapple
    키 마스터
    if와 else문안에 있는내용을 서로바꿔봅시다
    #53638

    길동이
    참가자
    말씀하신대로 바꾸면 100px을 넘어가도 처음 사진으로 고정되어 넘어가지지 않습니다 ㅠ
    #53710

    codingapple
    키 마스터
    붙여넣기하고 if랑 else안에있는거 서로 바꿔보니까 100px 넘어가면 다음사진으로 잘 넘어가는군요
    #53787

    길동이
    참가자
    저는 계속 안됩니다 ㅠ... 정말 너무 답답합니다. 계속 이러는 문제 때문에 코딩도 몇번 포기할뻔 했는데...
    왜 자꾸 저만 안되는 부분이 많은지 모르겠습니다 ㅠ
    혹시 노트북으로 해서 그러는걸까요...
    #53793

    길동이
    참가자
     if (e.clientX - 시작좌표 < -100) {
                   $('.container').css('transition', 'all 0.5s').css('transform', 'translateX(-100vw)');
                } else {
                 $('.container').css('transition', 'all 0.5s').css('transform', 'translateX(0vw)');
                }
    
    이렇게 안에 있는 내용을 바꾸라는 말씀 맞으실까요?
    #53883

    codingapple
    키 마스터
    넴 이미지에 draggable="false"도 줬나요
    #54052

    길동이
    참가자
    아니요 처음 들어보는 태그네요...
    어느 구간에 해당 태그를 넣어야 될까요?
    #54100

    codingapple
    키 마스터
    이미지태그에 넣어봅시다
    #54724

    길동이
    참가자
    정말 감사합니다 ㅠㅠ
10 글 보임 - 1 에서 10 까지 (총 10 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠