J'ai ce code:geste swipe cette réponse l'action
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();
Il fonctionne très bien, en raison de reconnaître le geste swipe, mais quand le geste est effectué, à la fois à gauche et vers la droite , la diapositive semble recevoir deux entrées successives, puis prendre deux/trois diapositives suivantes ... Comment puis-je éviter cela?
Merci pour votre aide, de toute façon cela ne résout pas mon problème. Même avec ce code, le problème reste le même: la fonction de glissière est appelée plusieurs fois sur chaque mouvement de balayage ... :-( –
C'est bizarre, ça a bien fonctionné pour moi, j'ai dû enlever if (balayer. state == stop) clause - mais cela a causé le problème inverse - en général, je n'ai pas reçu de coup de souris.Une fois que j'ai retiré cette clause, je pouvais obtenir au plus 2 déclenchements d'un seul coup et seulement si je bougeais ma main Je l'ai essayé sur 3 navigateurs différents (Chrome, Firefox et Safari) –
De toute façon, je résous la question Je crée une variable 'slideOnOff et la mets en "on" Lorsque la fonction de glissière est appelée, le variable est mis à "off", et quand la fonction est exécutée, avec un setTimeout je le réinitialise à "on" après 1 ' Ensuite, je fais la vérification ci-dessous: 'if (slideOnOff ==' o n ') { if (swipe.direction [0]> 0) { slidePict ("dx"); } else { slidePict ("sx"); } } ' –