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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
        document.onkeypress = key_process;
Ainsi, voilà ma que je désire executer pour diriger une image dans ma page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
		function break()
		{
			document.onkeypress = key_process;
		}
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
            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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
        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