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

home2 게시판 JavaScript, TS 게시판 캐러셀 swipe 질문 드립니다....

캐러셀 swipe 질문 드립니다....

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

    이미연
    참가자
    $('.sb').eq(0).on('mousedown',e=>{st=e.clientX;console.log('시작',st); clic=true;});
    $('.sb').eq(0).on('mouseup',e=>{clic=false;console.log('끝',e.clientX,'끝-시작',e.clientX - st);  if((e.clientX-st)<-200){
    $('.sl').css({'transform': 'translateX(-100vw)','transition': 'all 0.5s'})
    }else{$('.sl').css('transform','translateX(0)')};  
    위에는 잘 작동합니다.
    $('.sb').eq(1).on('mousedown',e=>{st=e.clientX;console.log('시작',st); clic=true;});
    $('.sb').eq(1).on('mousemove',e=>{ if(clic==true){ 
    $('.sl').css('transform', `translateX(calc(${e.clientX-st}px-100vw))`)}; });
    $('.sb').eq(1).on('mouseup',e=>{clic=false;console.log('끝',e.clientX,'끝-시작',e.clientX - st); 
     if((e.clientX-st)<-200){
    $('.sl').css({'transform': 'translateX(-200vw)','transition': 'all 0.5s'})
    근데, 위에가,  'translateX(-200vw)' 는 잘 작동하는데,  실시간 'mousemove', 
     `translateX(calc(${e.clientX-st}px-100vw))`)}; 당겨지지않고, 아무 움직임이 없습니다.
    스와이프 게시판 질문들을 봤을때, 저도 똑같이 무브를 줬는데, 저는 왜 2번에서 3번 그림이 
    실시간 무브 이동 되지 않는지, 모르겠습니다. 도움부탁드립니다. 감사합니다...
    참고로,  img 3 개 다  draggable="false" 주었습니다.
    #94519

    codingapple
    키 마스터
    mousemove시 clic 변수나 e.clientX-st 변수같은거 잘나오나 출력해봅시다
    #94572

    이미연
    참가자
    }.sl { width: 300vw; 
    }.sb { width: 100vw;float: left;
    } .sb img {width: 100%;height: 60%;}
    <div class="sl">
        <div class="sb">< img src='../img/car1.png' draggable="false"></div>
      <div class="sb">< img src='../img/car2.png' draggable="false"></div>
      <div class="sb">< img src='../img/car3.png' draggable="false"></div>
    </div></div>
    
    let st=0; let clic=false;
    $('.sb').eq(0).on('mousedown',e=>{st=e.clientX;console.log('시작',st); clic=true;});
    $('.sb').eq(0).on('mouseup',e=>{clic=false;console.log('끝',e.clientX,'끝-시작',e.clientX - st);  if((e.clientX-st)<-200){
    $('.sl').css({'transform': 'translateX(-100vw)','transition': 'all 0.5s'})
    }else{$('.sl').css('transform','translateX(0)')};
    setTimeout(()=>{$('.sl').css('transition','none')},500)});
    $('.sb').eq(0).on('mousemove',e=>{console.log(clic,e.clientX-st);if(clic==true && (e.clientX - st)<0){ 
     $('.sl').css('transform', `translateX(${e.clientX - st}px)`)}; });
    $('.sb').eq(1).on('mousedown',e=>{st=e.clientX;console.log('시작',st); clic=true;});
    $('.sb').eq(1).on('mousemove',e=>{console.log(clic,e.clientX-st);
                                      if(clic==true){ 
    $('.sl').css('transform', `translateX(calc(${e.clientX-st}px-100vw))`)}; });
    $('.sb').eq(1).on('mouseup',e=>{clic=false;console.log('끝',e.clientX,'끝-시작',e.clientX - st);  if((e.clientX-st)<-200){
    $('.sl').css({'transform': 'translateX(-200vw)','transition': 'all 0.5s'})
    }else{$('.sl').css('transform','translateX(-100vw)')};
    setTimeout(()=>{ $('.sl').css('transition','none')},500)});
    $('.sb').eq(0).on('mousemove',e=>{console.log(clic,e.clientX-st) 클릭 후 무브 할때 마다 
    true -199  이런식으로 실시간 출력됩니다.
    $('.sb').eq(1).on('mousemove',e=>{console.log(clic,e.clientX-st); 이것도, true -187 잘 출력
    되고, true -202 초과 시에는 다음으로 넘어갑니다. 그런데, 0과 같이 1이 당겨지지 않습니다. 
    한번만 봐주시면 정말 감사하겠습니다..
    #94594

    이미연
    참가자
    해결되었습니다. 감사합니다.   `translateX(calc(${e.clientX-st}px - 100vw))` 이게 실행되고,
     `translateX(calc(${e.clientX-st}px-100vw))`  이건 실행 안 되는거였습니다....
    
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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