2016-09-07 4 views
-1

Ich habe eine Animation, die auf Keydown für eine festgelegte Dauer (3s oder so) beginnen sollte.trigger event mit Leertaste keydown für eingestellte Dauer

Frage mich, ob ich die Animation Funktion binden kann jquery keydown aber wie kann ich die Dauer, dass hinzuzufügen, oder ob es eine andere jQuery-Plugin ist, dass kann damit umgehen?

Die Animation ist so etwas wie:

$ (‘slide1' .) SlideUp();.

aber ich muss dies an ein Schlüssel-Halte-Ereignis binden, so dass es ausgelöst wird, wenn jemand die Leertaste für 3s gedrückt hält. Ich habe keine Ahnung, wo ich überhaupt anfangen soll.

Etwas wie - aber wie mit der tatsächlichen Leertaste auslösen?

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

Nun, wir haben keine Ahnung, wie Sie die Animation starten. – epascarello

+0

Sie möchten, dass die Animation 3 Sekunden lang anhält oder Sie möchten, dass die Animation drei Sekunden lang gedrückt wird? Deine Frage ist nicht klar. Einige Informationen über das, was Sie bereits versucht haben, würden auch viel helfen –

+0

Sie müssten einen globalen Timer auf Keydown setzen und dann auf keyup stoppen, um die Länge der Zeit zu sehen, die es niedergehalten wurde – Pete

Antwort

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 
    } 
}); 

Wie andere bemerkt haben, ist es schwer zu sehen, was Sie speziell ohne Beispiel-Code suchen. Es klingt jedoch so, als würdest du nach so etwas suchen.

+0

Das ist genau das, wonach ich suche, außer dass ich der Leertaste eine Dauer hinzufügen muss. Wenn sie nur die Leertaste drücken, passiert nichts, aber das Ereignis wird ausgelöst, wenn sie es für 3 Sekunden halten. Ist das möglich? – njpatten

+1

ahhh, dann wirst du etwas in der Linie von $ (Fenster) .keydown (Funktion (e) { wollen einfach die Verzögerungen entfernen, jedes Mal, wenn das Betriebssystem ein Schlüsselsignal sendet Es sollte das "key down" -Ereignis auslösen und die Schleife ausführen. Mit anderen Worten, tun Sie, was Sie tun möchten, während die Taste gedrückt wird. Ich würde vorschlagen, in diese Bibliothek zu schauen: https://p5js.org/ Es ist eine gute einfache Bibliothek, die für die Darstellung von Daten/einfache Animationen/einfache Spiele und andere Dinge gedacht ist, sowie eine Vielzahl von Schlüsselerkennungsroutinen, die direkt darin integriert sind – Turk

Verwandte Themen