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