你是在touchstart的回调函数里定义赋值的startX,在touchmove里面取不到指。 你可以看一下控制台的报错。 我按你的思路改了一下: var isMove = false, deltaX=0, startX;//这里startX要在外部声明,touchmove才可以访问。 $("#touchme").on("touchstart",function(e){ var touch = e.originalEvent.touches[0];//这里应该是;而不是,号 //这里给startX是赋值,不是声明。不要给在var后面 startX = touch.pageX; isMove = false; }); $('#touchme').on('touchmove',function(e){ e.preventDefault(); var touch = e.originalEvent.touches[0]; deltaX = touch.pageX-startX; }) $('#touchme').on('touchend',function(e){ e.preventDefault(); alert(deltaX) })
你是在touchstart的回调函数里定义赋值的startX,在touchmove里面取不到指。
你可以看一下控制台的报错。
我按你的思路改了一下: