我希望你今天过得好,我正在尝试计算移动网站上的滑动距离(触摸手势),你将如何计算出用户在屏幕上滑过多少像素?
$('.cmButtons').live('swipeleft',function(){
console.log("swiped left");
});
答案 0 :(得分:9)
我会建议Matt Bryson出色的jQuery TouchSwipe插件:http://labs.skinkers.com/touchSwipe/。
它有触感和触觉滑动4个方向和1或2个手指的事件。它有SwipeStatus,您可以使用它滑动距离:http://labs.skinkers.com/touchSwipe/demo/Swipe_status.html
答案 1 :(得分:2)
不确定这是否有帮助,但对于Beta 2,他们已经发布了一些额外的滑动功能
添加了可配置的滑动事件阈值
有许多硬编码的常量 jquery.mobile.event.js滑动代码。对于需要调整的开发人员 这些常数允许更大的垂直位移并且仍然存在 注册滑动,这个新功能允许他们进行调整。谢谢 给mlitwin做贡献。
- scrollSupressionThreshold(默认值:10px) - 超过此水平 置换,我们将禁止滚动
- durationThreshold(默认值:1000毫秒) - 比此更长的时间,而且不是滑动
- horizontalDistanceThreshold(默认值:30px) - 水平滑动 位移必须超过这个。
- verticalDistanceThreshold(默认值:75px) - 滑动垂直位移必须小于此值。
答案 2 :(得分:2)
我无法弄清楚如何从方法中获得距离,所以我只是在页面上设置一个新的全局阈值。
//Override the default horizontalDistanceThreshold of 30
$.event.special.swipe.horizontalDistanceThreshold = 200;
我正在使用旧版本的jQM(v1.0仍然......),所以这可能已经改变了。如果您刚开始寻找滑动事件,很容易在源代码中找到。