JS 휴대폰에서 터치 이벤트를 사용하여 슬라이딩 거리를 계산하는 방법

小云云
풀어 주다: 2018-01-02 13:15:47
원래의
2742명이 탐색했습니다.

이 글에서는 주로 JS 휴대폰 터치 이벤트에 의한 슬라이딩 거리 계산 방법을 소개하고, 휴대폰 화면의 터치 이벤트에 반응하는 JavaScript의 관련 동작 기술을 분석하여 슬라이딩 거리 계산이 필요한 친구들이 참고할 수 있습니다. 그것이 모두에게 도움이 되기를 바랍니다.

제스처가 휴대폰 화면에서 슬라이드할 때 슬라이드하는 거리를 계산합니다. 코드는 다음과 같습니다.

function wetherScroll(){
    var startX = startY = endX =endY =0;
    var body=document.getElementsByTagName("body");
    body.bind('touchstart',function(event){
      var touch = event.targetTouches[0];
      //滑动起点的坐标
      startX = touch.pageX;
      startY = touch.pageY;
      // console.log("startX:"+startX+","+"startY:"+startY);
    });
    body.bind("touchmove",function(event){
      var touch = event.targetTouches[0];
      //手势滑动时,手势坐标不断变化,取最后一点的坐标为最终的终点坐标
        endX = touch.pageX;
        endY = touch.pageY;
        // console.log("endX:"+endX+","+"endY:"+endY);
    })
    body.bind("touchend",function(event){
      var distanceX=endX-startX,
        distanceY=endY - startY;
        // console.log("distanceX:"+distanceX+","+"distanceY:"+distanceY);
        //移动端设备的屏幕宽度
        var clientHeight; =document.documentElement.clientHeight;
        // console.log(clientHeight;*0.2);
        //判断是否滑动了,而不是屏幕上单击了
        if(startY!=Math.abs(distanceY)){
 //在滑动的距离超过屏幕高度的20%时,做某种操作
          if(Math.abs(distanceY)>clientHeight*0.2){
 //向下滑实行函数someAction1,向上滑实行函数someAction2
          distanceY <0 ? someAction1():someAction2();
        }
        }
        startX = startY = endX =endY =0;
    })
}
로그인 후 복사

관련 권장 사항:

터치 이벤트 구문 분석 및 캡슐화에 대한 지식

모바일 터치스타트 이벤트에 대한 솔루션 침투 문제

html5 휴대폰 터치스크린 터치 이벤트 상세 소개

위 내용은 JS 휴대폰에서 터치 이벤트를 사용하여 슬라이딩 거리를 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿