Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像向左或向右移动的Javascript触摸事件不起作用_Javascript_Touch_Touch Event - Fatal编程技术网

将图像向左或向右移动的Javascript触摸事件不起作用

将图像向左或向右移动的Javascript触摸事件不起作用,javascript,touch,touch-event,Javascript,Touch,Touch Event,编辑:我添加了两个console.logs,一个在touchmove函数之前,另一个在touchmove函数中,它们都给出了相同的touch.pageX值,因此touch.pageX根本没有改变。我不知道为什么不是这样。 我正在尝试使用touchstart和touchmove事件在页面上向左或向右移动图像 以下是触摸图像时触发的函数。console.log语句正在启动,因此它们正在执行,但映像没有移动。当触摸点移动时,touchmove事件侦听器函数中的console.log会持续触发,我猜这是

编辑:我添加了两个console.logs,一个在touchmove函数之前,另一个在touchmove函数中,它们都给出了相同的touch.pageX值,因此touch.pageX根本没有改变。我不知道为什么不是这样。

我正在尝试使用
touchstart
touchmove
事件在页面上向左或向右移动图像

以下是触摸图像时触发的函数。
console.log
语句正在启动,因此它们正在执行,但映像没有移动。当触摸点移动时,
touchmove
事件侦听器函数中的
console.log
会持续触发,我猜这是所需的行为

// event listener on an image that gets touched
lightboxImages[i].addEventListener('touchstart', touchMove);

  function touchMove(event) {

    console.log('touch.pageX');

    event.preventDefault();
    var touchedImage = event.target;
    var touch = event.touches[0];
    var moveOffsetX = touchedImage.offsetLeft - touch.pageX;

    touchedImage.addEventListener('touchmove', function() {

      console.log('touch.pageX');
      var positionX = touch.pageX + moveOffsetX;
      touchedImage.style.left = positionX + 'px';
    }, false);
  }
在dom中,这似乎会将触摸的图像的
left
值更改为
left:0
,但不会导致图像在页面上的任何物理移动,因为图像具有100%的宽度并占据页面的全部宽度

因为图像已经是页面的100%宽度了,所以我试图让这个动作基本上把页面从屏幕上移开。我不确定是什么阻止了
left
值成为
0
以外的值


其中一些代码取自:

尝试删除
event.preventDefault()没有更改