Узнать дельта-расстояние? - PullRequest
1 голос
/ 22 января 2020

Как мне найти расстояние от сенсорного центра?

Например, мы дотрагиваемся, и если мы потянем вверх, мы получим 1 2 3. Если мы потянем вниз, мы получим -1 -2 -3.

Я знаю, что это можно сделать с сохраненной позицией (начальное касание). Но я не могу думать об этом сам. Спасибо!

// touchstart
window.addEventListener('touchmove', touchmove);

var deltaY;

function touchmove(e) {
  deltaY = e.touches[0].clientY;
  console.log(deltaY);
}

1 Ответ

2 голосов
/ 23 января 2020

Вы можете создать 2 прослушивателя событий, один для захвата начальной позиции, другой для захвата событий перемещения:

document.body.addEventListener('touchmove', touchmove);
document.body.addEventListener('touchstart', touchstart);


var startX, startY;

function touchstart(e)
{
    startX = e.touches[0].clientX;
    startY = e.touches[0].clientY;
}

function touchmove(e)
{
  var deltaX = e.touches[0].clientX - startX,
        deltaY = e.touches[0].clientY - startY;


console.log('Delta x,y',deltaX, deltaY);
}
...