setTimeout et touche echap
Bonjour,
Des images utilisent (onclick / onkeyup). Lorsque je clique sur une image, celle-ci est zoomée via le plugin fluidbox...
Le problème : sur le bord de l'image j'ai ajouté une petite icone "loupe" qui alterne un display none/block au clique de l'image ; setTimeout permet de réafficher l'icone après le temp de dézoomage, soit 1s. Tout fonctionne sauf avec la touche échap ; ça boucle, l'icone se masque et se réaffiche qu'il est en display block...
J'ai observé que si je met à 0 le setTimeout de la touche échap ça ne boucle plus mais l'effet recherché est raté,
Si vous avez une idée du problème, voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| /*
* Permet d'alterner l'affichage de l'icone zoom.
*
*/
function zoomToggle(id)
{
elmt = document.getElementById(id);
g_timer = null;
if (elmt.style.display == "none") {
// -SI- fermer avec touche « Echap »
$(document).keyup(function(e) {
setTimeout(function () {
if (e.keyCode == 27) {
elmt.style.display = 'block';
}
}, 500);
});
// -SI fermer avec la souris
setTimeout(function () {
elmt.style.display = 'block';
}, 500);
}
else {
elmt.style.display = 'none';
}
} |
Remerciement,