Salut a tous
Je me casse la tete sur un problème pourtant simple ...
j'appel une fonction qui fait une boucle avec les paramètres passé en variable , en l'occurance , le nombre d'éléments et un tableau d'url, jusque la on est ok ...
ces urls me serve a créer de nouvelle image via la fonction :
new Image , puis je test que la nouvelle image créer est chargé dans le cache du navigateur via : la méthode "complete".
Pour une seule image , parfait mais pour une série d'image , internet explorer me parcours la boucle For ci dessous sans se soucier des setimeout();
si quelqu'un peut m'éclaircir ??
bonne soirée[/i][/i]

Je me casse la tete sur un problème pourtant simple ...
j'appel une fonction qui fait une boucle avec les paramètres passé en variable , en l'occurance , le nombre d'éléments et un tableau d'url, jusque la on est ok ...
ces urls me serve a créer de nouvelle image via la fonction :
new Image , puis je test que la nouvelle image créer est chargé dans le cache du navigateur via : la méthode "complete".
Pour une seule image , parfait mais pour une série d'image , internet explorer me parcours la boucle For ci dessous sans se soucier des setimeout();

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<script type="text/javascript">
function chargementImg(nbimage,taburl){
//On initialise la boucle pour créer de nouvelle image
for(var i = 0; i < nbimage; ++i ){
im=new Image();
im.src=taburl[i];
actif=setTimeout('controleChargement('+i+')',300);
alert("url : "+taburl[i]);
}
}
function controleChargement(idImg){
clearTimeout(actif);
alert("image n° : "+idImg);
if(im.complete){ // image complètement chargée
//alors on fait l'action désiré ( on l'affiche ... )
monIdfinal = "img"+(idImg+1);
document.getElementById(monIdfinal).src = im.src;
}
//sinon on appel la fonction elle même
else {
document.getElementById("divChargement").innerHTML = "chargement en cours : image "+idImg;
actif=setTimeout('controleChargement('+idImg+')',1000)
}
}
</script>
</head>
<body>
<div id="divChargement" style="border:5px solid #333333; width:100px;">
yop [smile]
</div>
<img src="" alt="image n°1" id="img1" />
<img src="" alt="image n°2" id="img2" />
<script>
var montabimg = new Array ("http://ccat.sas.upenn.edu/~humm/Topics/AdamNeve/a_n_e01.jpg","http://www.guidehorse.org/images/CuddlesJanetFranklinton52.jpg");
</script>
<input type="button" value="test chargement image" onclick="chargementImg('2',montabimg)" />
</body>
</html>
si quelqu'un peut m'éclaircir ??
bonne soirée[/i][/i]