У меня есть этот код:салфетки жест, что ответить действие
var controller = new Leap.Controller({enableGestures: true});
controller.on('gesture', function (gesture){
console.log(gesture);
if(gesture.type === 'swipe'){
handleSwipe(gesture);
}
});
function handleSwipe (swipe){
var startFrameID;
if(swipe.state === 'stop'){
if (swipe.direction[0] > 0){
//this means that the swipe is to the right direction
\t \t \t slideTimer = setTimeout(function(){
\t \t \t slidePict("sx");
\t \t \t },500);
}else{
//this means that the swipe is to the left direction
\t \t \t slideTimer = setTimeout(function(){
\t \t \t slidePict("dx");
\t \t \t },500);
}
}
}
controller.connect();
Он отлично работает, из-за распознавать салфетки жест, но когда жест выполняется, как влево, так и вправо , слайд, кажется, получает два последовательных ввода, а затем принимает два/три слайда после ... Как я могу избежать этого?
Благодарим за помощь, так или иначе, это не решит мою проблему. Даже с этим кодом проблема остается прежней: функция слайда является вызовом много раз на каждом жесте салфетки ... :-( –
Это странно. Это сработало для меня. Мне пришлось удалить if (проведите пальцем по экрану. state == stop), но это вызвало противоположную проблему - я вообще не получал никаких щелчков. Как только я удалил эту статью, я мог бы получить не более 2 триггеров одним ударом, и только если бы я двигал рукой медленно, я попробовал это на трех разных браузерах (Chrome, Firefox и Safari). –
Я создаю переменную 'slideOnOff и устанавливаю ее как "on" переменная установлена на «off», а когда функция выполняется, с setTimeout я возвращаю ее в «on» после 1 ». Затем я делаю чек ниже: ' if (slideOnOff == 'o n ') { if (swipe.direction [0]> 0) { slidePict ("dx"); } else { slidePict ("sx"); } } ' –