tout d'abord bonjour à tous

voici mon problème, je tente de faire une fonction fadeOut fonctionnant avec setTimeout afin d'étaler l'effet sur une certaine durée, malheureusement, lors de mes tests, tout s'exécute en même temps. sûrement une erreur toute bête, mais je ne trouve pas, voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// fadeOut : diminue l'opacite d'un objet en un temps donne
//		obj : objet
//		opEnd : opacite d'arrive (0-100)
//		ms : vitesse de changement (ms - pour aller de 100 a 0 d'opacite)
//		arrayTimer : tableau de timer (optionnel)
function fadeOut (obj, opEnd, ms, arrayTimer) {
	if (arrayTimer != undefined) {
		for (i=0;i<=arrayTimer.length-1;i++) clearTimeout(arrayTimer[i]);
	}
	arrayTimer=new Array();
	var opStart = getOpacity(obj);
	var speed=Math.round(ms/100);
	var coeff = 0;
	for (i=opStart-1;i>=opEnd;i--) {
		arrayTimer.push(setTimeout(function () {setOpacity(obj,i)},(coeff*speed)));
		coeff++;
	}
}
les fonctions getOpacity et setOpacity ont été testées et fonctionnent à merveille.

merci d'avance pour votre aide.