J'essaie d'exécuter/d'alterner deux fonctions en appuyant sur la même touche deux fois sur le clavier, mais après le premier clavier, je ne reçois rien d'autre. J'ai besoin de la boîte pour ouvrir lorsque la touche est pressée la première fois, et qu'elle devrait être fermée lorsque la touche est pressée la deuxième fois.jQuery alterne entre deux fonctions en utilisant la touche du clavier
J'ai besoin pour y parvenir:
Première boîte -> touche F1 (ouverture/fermeture);
Deuxième boîte -> Touche F2 (ouvrir/fermer);
Troisième boîte -> Touche F3 (ouvrir/fermer);
L'action d'ouverture/fermeture est uniquement à des fins d'explication, ce qu'il fait faire est d'exécuter un litte function()
Voici mon code (je suis le jquery de here)
<div class="time one">
<p>You can see this if you click F1</p>
</div>
<div class="time two">
<p>You can see this if you click F2</p>
</div>
<div class="time three">
<p>You can see this if you click F3</p>
</div>
$(document).keydown(function(e) {
switch(e.which) {
case 112: // F1 on keyboard
function a(el){
$(el).animate({width: "260px"}, 1500);
}
function b(el){
$(el).animate({width: "30px"}, 1500);
}
var el = $('.one');
return (el.tog^=1) ? a(el) : b(el);
break;
case 113: // F2 on keyboard
function a(el){
$(el).animate({width: "260px"}, 1500);
}
function b(el){
$(el).animate({width: "30px"}, 1500);
}
var el = $('.two');
return (el.tog^=1) ? a(el) : b(el);
break;
case 114: // F3 on keyboard
function a(el){
$(el).animate({width: "260px"}, 1500);
}
function b(el){
$(el).animate({width: "30px"}, 1500);
}
var el = $('.three');
return (el.tog^=1) ? a(el) : b(el);
break;
default: return; // exit this handler for other keys
}
e.preventDefault(); // prevent the default action
});
Lorsque Je presse F1 la première fois que cela fonctionne, mais que rien ne se passe plus. Quelqu'un peut-il aider? JSFiddle is here
Avez-vous besoin de la deuxième case pour faire la deuxième fois sur la touche F1 est presses? La boîte 1 doit-elle rester ouverte? – AdamJeffers
Je m'excuse, peut-être que je ne me suis pas expliqué comme je le ferais. J'ai besoin de l'instruction 'switch {}' car j'ai besoin d'appliquer ce comportement aux trois éléments différents avec trois clés différentes (ceci est seulement une semplification, les éléments sont plus de trois ...) [@MihaiB] (http: // stackoverflow.com/users/5396838/mihaib), c'est pourquoi j'ai mis 'var el 0 $ ('one')' dans le switch. Mise à jour mon code et [JSFiddle trop] (http://jsfiddle.net/uomopalese/ex3gckhk/11/) – uomopalese