在jQuery-mobile中计算滑动距离

时间:2011-08-03 09:58:17

标签: jquery-mobile

我希望你今天过得好,我正在尝试计算移动网站上的滑动距离(触摸手势),你将如何计算出用户在屏幕上滑过多少像素?

$('.cmButtons').live('swipeleft',function(){
    console.log("swiped left");
});

3 个答案:

答案 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毫秒) - 比此更长的时间,而且不是滑动
  •   
  • horizo​​ntalDistanceThreshold(默认值:30px) - 水平滑动   位移必须超过这个。
  •   
  • verticalDistanceThreshold(默认值:75px) - 滑动垂直位移必须小于此值。
  •   

答案 2 :(得分:2)

我无法弄清楚如何从方法中获得距离,所以我只是在页面上设置一个新的全局阈值。

//Override the default horizontalDistanceThreshold of 30
$.event.special.swipe.horizontalDistanceThreshold = 200;

我正在使用旧版本的jQM(v1.0仍然......),所以这可能已经改变了。如果您刚开始寻找滑动事件,很容易在源代码中找到。