要素をスワイプできる次のコードがあり、要素が移動し、その下の要素が表示されます。一度スワイプして関数を実行し、div の位置をリセットして、もう一度スワイプできるようにしたいと思います。基本的に、機能実行中はスワイプを無効にし、機能が終了したらスワイプを有効にします。
これが私のコードです:
var threshold = {
x: 30,
y: 10
}
var originalCoord = {
x: 0,
y: 0
}
var finalCoord = {
x: 0,
y: 0
}
function touchMove(event) {
finalCoord.x = event.targetTouches[0].pageX
changeX = originalCoord.x - finalCoord.x
var changeY = originalCoord.y - finalCoord.y
if (changeY < threshold.y && changeY > (threshold.y * -1)) {
changeX = originalCoord.x - finalCoord.x
if (changeX > threshold.x) {
// My function which runs when you swipe left
}
}
}
function touchEnd(event) {
}
function touchStart(event) {
originalCoord.x = event.targetTouches[0].pageX
finalCoord.x = originalCoord.x
}
window.addEventListener("touchstart", touchStart, false);
window.addEventListener("touchmove", touchMove, false);
window.addEventListener("touchend", touchEnd, false);
関数の実行後にドラッグを使用event.preventDefault()
またはreturn false
無効にできると考えましたが、それでもドラッグ中にドラッグできるようになります。