。 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イベント何かをキャプチャする必要があります。
私はあなたがあまりにも参照のうえたコードに上記の修正を加える必要がある – Xavier
、これは完全なコードではありません、これは動作しません確認することができます。あなたが仕事のビットを行うようになった。私はあなたがコードにコメントどこに基づいて変更を行いました – longstaff
)... – Xavier