2011-08-04 11 views
1

jQueryのは、私は、ユーザーがスワイプした距離を計算するには、次の使用していますどのように私はリアルタイムになるだろうスワイプとアニメーションの値は、DIVが指に沿って続くと言っていますか?パンの要素 - (スワイプが初期化された後やトランジションを追加/機能は)私はタッチの要素をパンにしようとしています

私はスワイプ機能を実現するために、次のコードを使用しています:あなたはあなたが必要とする機能を実現するために離れて少しのスクリプトを取る必要があり

Standalone jQuery "touch" method?

答えて

1

。 havntはしかし、それをテストし、

//add to the decleration: 
var defaults = { 
    threshold: { 
     x: 30, 
     y: 10 
    }, 
    swipeLeft: function() { alert('swiped left') }, 
    swipeRight: function() { alert('swiped right') }, 
    //THIS: 
    swipeMove: function(distance) { alert('swiped moved: '+distance.x+' horizontally and '+distance.y+' vertically') }, 
    preventDefaultEvents: true 
}; 

//add this to the init vars section 
var lastpoint = {x:0, y:0} 

//add an init to the lastpoint at start of swipe 
function touchStart(event) { 
     console.log('Starting swipe gesture...') 
     originalCoord.x = lastpoint.x = event.targetTouches[0].pageX 
     originalCoord.y = lastpoint.y = event.targetTouches[0].pageY 
    } 

//this is where you do your calculation 
function touchMove(event) { 
     if (defaults.preventDefaultEvents) 
      event.preventDefault(); 

     var difference = { 
      x:event.targetTouches[0].pageX - lastpoint.x, 
      y:event.targetTouches[0].pageY - lastpoint.y 
     } 
     //call the function 
     defaults.swipeMove(difference); 

     finalCoord.x = lastpoint.x = event.targetTouches[0].pageX 
     finalCoord.y = lastpoint.y = event.targetTouches[0].pageY 
    } 

がとにかくそのようなものでなければなりません。基本的には、単一のイベントに「スワイプ」が保存されて持っているものは、このようなtouchMoveイベント何かをキャプチャする必要があります。

+0

私はあなたがあまりにも参照のうえたコードに上記の修正を加える必要がある – Xavier

+0

、これは完全なコードではありません、これは動作しません確認することができます。あなたが仕事のビットを行うようになった。私はあなたがコードにコメントどこに基づいて変更を行いました – longstaff

+0

)... – Xavier

関連する問題