Bonjour,
malgr� mes recherches et avoir trouv� la fonction setTimeout pour executer un script au bout de x secondes, cela n'a pas l'aire de 'ralentir' mon script.
Voil�, j'ai une fonction qui s'execute quand on presse une touche :
1 2 3 4 5 6 7 8 9 10 11
| function key_process()
{
if (window.event.type == "keypress" & window.event.keyCode > 0)
{
if(window.event.keyCode == 54)
RightPosition();
else if(window.event.keyCode == 52)
LeftPosition();
}
return true;
} |
d�clench� via
document.onkeypress = key_process;
Ainsi, voil� ma que je d�sire executer pour diriger une image dans ma page :
1 2 3 4 5 6 7 8 9 10
| function LeftPosition()
{
var valueL = 0;
valueL = document.getElementById('tsr').style.left;
valueL = valueL.replace(/px/g, '');
valueL = parseInt(valueL)-10;
if(valueL <= 0) valueL=2;
document.getElementById("tsr").style.left = valueL;
document.onkeypress = key_process;
} |
(j'ai all�g� ce code car il est plus complet)
Mais le probl�me, est que sous chrome, op�ra, ceci est ex�cut� trop rapidement, alors que pour une fois j'aimerais avoir le m�me effet que IE8 qui l'ex�cute moins rapidement.
J'utilise donc ceci � la place du code pr�c�dent :
1 2 3 4
| function break()
{
document.onkeypress = key_process;
} |
et
1 2 3 4 5 6 7 8 9 10 11
| function LeftPosition()
{
var valueL = 0;
valueL = document.getElementById('tsr').style.left;
valueL = valueL.replace(/px/g, '');
valueL = parseInt(valueL)-10;
if(valueL <= 0) valueL=2;
document.getElementById("tsr").style.left = valueL;
setTimeout('break()', 10000);
} |
Ce que je ne comprends pas c'est que
document.onkeypress = key_process;
appel la fonction key_process() avant les 10 secondes ...
Je pense que c'est du � ceci qui n'est contenu dans aucunes fonctions :
document.onkeypress = key_process;
il n'y a donc pas un autre secours que setTimeout pour vraiment ralentir le script plut�t que de l'executer � x secondes ?
Merci par avance pour vos r�ponses
Partager