如何使用 hammer.js jQuery 插件设置不同的速度来识别滑动?
How to set different velocity to recognise swipes with hammer.js jQuery plugin?
我在查找/弄清楚如何向 hammer.js when using it's jQuery plugin 添加选项时遇到问题。这就是我启动锤子的方式:
/* Create Hammer object for swipable game cards */
$('.game-card-mobile')
.hammer()
.bind('swiperight swipeleft press', function(ev) {
console.log(ev.type);
});
我发现为了执行滑动动作需要相对快速的滑动,我想降低触发事件所需的滑动速度。阅读文档后:http://hammerjs.github.io/recognizer-swipe/ 似乎有一个默认为 0.65 的速度选项,所以我认为可以以某种方式将其更改为 0.5,以便在较慢的滑动时触发事件?
编辑: 如果这有任何帮助,这里有一些用 javascript 编写的刷卡测试示例:https://github.com/hammerjs/hammer.js/blob/master/tests/unit/gestures/test_swipe.js
这显示了如何设置 {threshold: 1}
的示例,我试图在使用 jQuery 插件时实现这一点。
您 post 的 link 来自一个名为 Hammer.js 的图书馆。您必须在您的项目中导入此库才能使其正常工作。
识别前所需的最小速度,单位是px per ms,也就是0.65px每毫秒,然后将其设为 0.50 应该会使事件发生时的触摸速度变慢。
0.50 -> 将在
之前触发
0.80 -> 更难射击
var hammertime = new Hammer(myElement, myOptions);
hammertime.on('swipe', function(ev) {
alert(ev);
});
hammertime.get('swipe').set({ velocity: 0.80});
也许是正确的方法?
嘿,对你有帮助。
编辑: 如 jquery api 页面所述:Hammer 实例存储在 $ element.data("hammer")。
然后也许
$("#yourdivtoswipe_id").data('hammer').get('swipe').set({ velocity: 0.80});
此致
是这样的:
$("#yourelemenet").hammer({options}).bind("tap", function(ev) {});
注意选项对象。这是我的一些代码中的一个简单示例:
$("#yourelemenet").hammer({threshold: 10, posThreshold:50, time:1000}).bind("tap", function(ev) {});
编辑:在您看到的阈值、posThreshold、上面的时间处添加速度..
我在查找/弄清楚如何向 hammer.js when using it's jQuery plugin 添加选项时遇到问题。这就是我启动锤子的方式:
/* Create Hammer object for swipable game cards */
$('.game-card-mobile')
.hammer()
.bind('swiperight swipeleft press', function(ev) {
console.log(ev.type);
});
我发现为了执行滑动动作需要相对快速的滑动,我想降低触发事件所需的滑动速度。阅读文档后:http://hammerjs.github.io/recognizer-swipe/ 似乎有一个默认为 0.65 的速度选项,所以我认为可以以某种方式将其更改为 0.5,以便在较慢的滑动时触发事件?
编辑: 如果这有任何帮助,这里有一些用 javascript 编写的刷卡测试示例:https://github.com/hammerjs/hammer.js/blob/master/tests/unit/gestures/test_swipe.js
这显示了如何设置 {threshold: 1}
的示例,我试图在使用 jQuery 插件时实现这一点。
您 post 的 link 来自一个名为 Hammer.js 的图书馆。您必须在您的项目中导入此库才能使其正常工作。
识别前所需的最小速度,单位是px per ms,也就是0.65px每毫秒,然后将其设为 0.50 应该会使事件发生时的触摸速度变慢。
0.50 -> 将在
之前触发0.80 -> 更难射击
var hammertime = new Hammer(myElement, myOptions);
hammertime.on('swipe', function(ev) {
alert(ev);
});
hammertime.get('swipe').set({ velocity: 0.80});
也许是正确的方法?
嘿,对你有帮助。
编辑: 如 jquery api 页面所述:Hammer 实例存储在 $ element.data("hammer")。
然后也许
$("#yourdivtoswipe_id").data('hammer').get('swipe').set({ velocity: 0.80});
此致
是这样的:
$("#yourelemenet").hammer({options}).bind("tap", function(ev) {});
注意选项对象。这是我的一些代码中的一个简单示例:
$("#yourelemenet").hammer({threshold: 10, posThreshold:50, time:1000}).bind("tap", function(ev) {});
编辑:在您看到的阈值、posThreshold、上面的时间处添加速度..