2016-09-07 4 views
-1

J'ai une animation qui devrait démarrer sur le clavier pendant une durée définie (3s environ). Vous vous demandez si je peux lier la fonction d'animation à jquery keydown mais comment puis-je ajouter la durée à cela ou s'il y a un autre plugin jquery qui peut gérer cela?événement déclencheur avec le raccourci de la barre d'espace pour la durée définie

L'animation est quelque chose comme:

$ (» cliché1.) SlideUp();.

mais j'ai besoin de lier ceci à un événement de maintien de touche de sorte qu'il est déclenché quand quelqu'un maintient la barre d'espace pendant 3s. Je n'ai aucune idée par où commencer même ici.

Quelque chose comme - mais comment déclencher avec la barre d'espace réelle?

$('spacebar').keydown(
    $('.slide1').slideUp(); 
), 3000) ? 
+0

Eh bien, nous n'avons aucune idée de la façon dont vous exécutez l'animation pour commencer. – epascarello

+0

Vous souhaitez que l'animation dure 3 secondes ou que vous vouliez qu'elle soit déclenchée lorsque la touche est maintenue enfoncée pendant trois secondes? Votre question n'est pas claire. Quelques informations sur ce que vous avez déjà essayé aiderait beaucoup trop –

+0

Il faudrait régler une minuterie mondiale sur keydown puis l'arrêter sur keyup pour voir le temps qu'il a eu lieu vers le bas – Pete

Répondre

0
$(window).keypress(function (e) { 
    if (e.keyCode === 0 || e.keyCode === 32) { 
    e.preventDefault() 
    console.log('Space pressed') 
    //do some stuff here 
    /*some animation*/.delay(3000);//plays animation for 3 seconds 
    } 
}); 

Comme d'autres l'ont fait remarquer, il est difficile de voir ce que vous cherchez spécifiquement sans code d'exemple. Cependant, il semble que vous cherchez quelque chose comme ça.

+0

C'est exactement ce que je recherche, sauf que j'ai besoin d'ajouter une durée à la barre d'espace. S'ils frappent juste la barre d'espace rien ne se produit mais l'événement est déclenché s'ils le tiennent pendant 3 secondes. Est-ce possible? – njpatten

+1

ahhh, alors vous voulez quelque chose le long des lignes de $ (fenêtre) .keydown (fonction (e) {.......... Il suffit d'enlever les délais, chaque fois que le système d'exploitation envoie un signal de clé , il devrait tirer vers le bas l'événement clé et l'exécution de votre boucle En d'autres termes, faites ce que vous voulez faire pendant que la touche est pressée, je suggère à la recherche dans cette bibliothèque que:.. https://p5js.org/ il est une bonne bibliothèque simple destinée à la représentation de données/animations simples/jeux simples et d'autres choses ainsi que d'avoir une foule de gestionnaires de détection de clés intégré directement – Turk