ios iPad上的触摸滚动增量值

fv2wmkja  于 2023-10-21  发布在  iOS
关注(0)|答案(2)|浏览(124)

基本上,我们在“DOMMouseScroll”上有一个侦听器,它返回鼠标滚动的增量,然后使用此数据在页面上移动div元素。
我们想将此功能添加到iPad中,但正在努力确定需要哪些侦听器来返回触摸滚动增量值。
有没有人有什么建议,或者从哪里开始?
干杯- C

u0sqgete

u0sqgete1#

没有“delta”,但您可以访问XY
这意味着你可以编写一些代码来触发触摸移动并计算“delta”:

element.addEventListener("touchstart", touchStart, false);
element.addEventListener("touchmove", touchMove, false);

var start = {x:0, y:0};

function touchStart(event) {
  start.x = event.touches[0].pageX;
  start.y = event.touches[0].pageY;
}

function touchMove(event) {
  offset = {};

  offset.x = start.x - event.touches[0].pageX;
  offset.y = start.y - event.touches[0].pageY;

  return offset;  
}

进一步参考:http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/HandlingEvents/HandlingEvents.html

2vuwiymt

2vuwiymt2#

如果你不需要realtime delta,那么你只能使用press & realease delta,用途:

基于@samccone代码。

element.addEventListener("touchstart", touchStart, false);
element.addEventListener("touchend", touchEnd, false);

var start = {x:0, y:0};

function touchStart(event) {
  start.x = event.changedTouches[0].pageX;
  start.y = event.changedTouches[0].pageY;
}

function touchEnd(event) {
  offset = {};

  offset.x = start.x - event.changedTouches[0].pageX;
  offset.y = start.y - event.changedTouches[0].pageY;

  return offset;  
}

相关问题