为此,您应该使用touchstart/mousedown、touchmove/mousemove 和 touchend/mouseup事件来支持触控和桌面设备。
- 在 touchstart 上,使用 JQueryEventType 对象来存储初始X和Y坐标,并设置一些参数来表示有效的滑动(比如说init=true)
- 在 touchmove 上,首先检查其是否有效滑动(如果 init==true),然后再次使用 JQueryEventType 对象获取光标/手指的新X和Y
位置。
现在是棘手的部分:使用这些新的 X 和 Y位置来计算位移和方向。使用这些值来设置 DIV(s) 的偏移量或使用 CSS 3.0 translate(x,y)。
例如,如果delta X > 10(过滤错误的某个阈值)和delta Y ~ 0那么它向右移动。我会通过delta X将我所有的 DIV 翻译成 RIGHT 。
我建议不要使用任何动画,因为它看起来不符合您的需要。加上保持过渡延迟非常短,可能没有计时功能。这会给运动带来一些清晰的反应。
对于何时假设“滑动足够”的问题,我想您将不得不采用您选择的恒定值或使用屏幕宽度计算它。如果 Delta X 或 Delta Y 不小于阈值保持值...反弹。如果它大于这个值...向前反弹。