2012-07-05 2 views
0

매우 큰 conten (많은 그림)이 있습니다. 나는 css3 전환 변환을 사용하고 싶다. touchmove 이벤트에 바인딩하고 새 x 위치를 계산합니다.jquery touchmove 이벤트 및 매우 큰 내용

하지만 문제가 있습니다. x의 위치가 모바일에서 원활하게 변경되지 않습니다 (모두 desctop에서). 이벤트 Touch에는 지연이 있습니다.

나는 숨겨진 콘텐츠 (사용 가능성 : 숨김)를 사용하지 마십시오.

답변

1

이벤트 처리기가 변경하는 속도를 제한하십시오. 직관적이지는 않지만 카운터 속도를 느리게하면 빠르게 표시됩니다. 터치 이동 이벤트는 화면의 재생 빈도보다 훨씬 빠르고 매우 빠르게 발사됩니다.

이상적으로는 requestAnimationFrame을 사용하는 것이 좋습니다.

또는 너무 실험적이라면 초당 60 프레임보다 빠른 이벤트 처리기 동작을 수행하지 않아야합니다 (화면 재생 빈도 인 1000/60 밀리 초마다 이벤트 처리기 동작 1 개). 여전히 1000/60 밀리 초에서 문제가 발생하면 느린 속도로 시도하십시오. 비디오의 프레임 속도는 초당 30 프레임입니다. 30 ~ 60 프레임 사이의 어떤 것이 좋게 보일 것입니다.

는 그래서는 다음과 같습니다

var lastFrameTime; 
var myTouchMoveHandler = function (e) { 
    var now = Date.now(); 
    if (now < lastFrameTime + 1000/60) { 
     return; 
    } 
    // your event handler code afterward 
    // ... 
    // then update the lastFrameTime 
    lastFrameTime = now; 
}