Simuler de thread en Javascript

petit_stagiaire Messages postés 10 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 19 avril 2004 - 30 mars 2004 à 16:23
WASoft_TIC Messages postés 1 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 3 juillet 2008 - 3 juil. 2008 à 12:39
Bonjour,

j'ai créé une fonction qui permet de faire tourner une image.
elle se rappelle elle-même avec in setTimeout qui simule la vitesse.
function tourne(img){
n=document.getElementById(img);
//Code
setTimeout(tourne(img),10);
}

si je n'ai qu'une image cela tourne bien.
si je veux faire tourner 2 images en parallèle, seule la dernière tourne.

function start(){
tourne('img1');
tourne('img2');
}

est-il possible en javascript d'alterner l'une ou l'autre image?

merci

petitstagiaire

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
30 mars 2004 à 16:55
Bonjour
tout dépend de comment est
concue la function appellée.
il faut y mémoriser tous les éléments
pour continuer correctement.
setTimeout(fonction(imageà traiter,état actuel))
le pire : dupliquer la fonction vers fonction1.
Cordialement. Bul.
0
petit_stagiaire Messages postés 10 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 19 avril 2004
30 mars 2004 à 17:15
cher Bul,
meme en dupliquant ma fonction en l'appellant tourne2, il ne prend en compte que le dernier appel :
tourne2('img2');
et ignore tourne('img1') ou la stoppe après une itération
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
30 mars 2004 à 17:46
essayes ca si tu l as pas deja essayé
function tourne(img){
n=document.getElementById(img);
//Code
}
function start()
{
setInterval("tourne('img1')",10);
setInterval("tourne('img2')",10);
}

Duss
0
petit_stagiaire Messages postés 10 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 19 avril 2004
30 mars 2004 à 17:57
j'ai déjà essayé mais en plus de ne bouger que la 2nde image, elle bouge n'importe comment.
merci quand même

je vais peut etre etre obligé de refaire completement mon script.
je continue à chercher

petitstagiaire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WASoft_TIC Messages postés 1 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 3 juillet 2008
3 juil. 2008 à 12:39
Bonjour,
Essaye ce code :
--------------------------------------------------------------------
var timerIDs = new Array(10);
var pos = 0;

function tourne(img, p){
n = document.getElementById(img);
//Code
clearTimeout(timerIDs[p]);
}

function start()
{
timerIDs[pos] = setInterval("tourne('img1', pos)",10);
pos = (pos+1)%10;
timerIDs[pos] = setInterval("tourne('img2', pos)",10);
(pos+1)%10;
}
--------------------------------------------------------------------

wasoft
0
Rejoignez-nous