Bonjour,

Nous essayons de générer des cases en javascript pour représenter un sorte d'échiquier.

Nous avons écrit une fonction Javascript qui affiche une DIV pour chaque case en précisant sa position et sa taille.

Sous Firefox il n'y a aucun problème, toutes les DIV s'affiche, mais sous IE, il en affiche une partie, puis arrête l'affichage en plein milieu, alors qu'apparemment la boucle d'affichage est effectuée en entier (avec des images à la place des DIV, ça fonctionne, mais j'ai peur que ça soit plus lourd, de plus en mettant un compteur, il nous donne bien le nombre de DIV normalement affichées).

Voici mon code d'affichage, merci d'avance.

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
column = YMin - 2;
 
	for (caseHeight = 40; caseHeight < 560; caseHeight += 40)
	{
	    line = XMin - 2;
	    for (caseWidth = 40; caseWidth < 560; caseWidth += 40)
	    {
	        if ((line >= 0) && (column >= 0) && (line <= totalWidth) && (column <= totalHeight))
	            document.write('<div id="x'+line+'y'+column+'" style="position:fixed;top:'+caseHeight+'px;left:'+caseWidth+'px;width:40px;height:40px;border-width:1px;border-style:solid;border-color:Black;visibility:visible" />');
            else
				document.write('<div id="x'+line+'y'+column+'" style="position:fixed;top:'+caseHeight+'px;left:'+caseWidth+'px;width:40px;height:40px;border-width:1px;border-style:solid;border-color:Black;background-color: #CCCCCC;visibility:visible" />');           
            line++;
	    }
	    column++;
	 }
 
    document.write('<div id="visibleZone" style="position:fixed; top:120px; left:120px; width:358px; height:358px; border-width:2px; border-style:solid; border-color:Red; visibility:visible"/>');
PS : XMin et YMin servent juste pour calculer les bornes du damier, le if dans la boucle sert à afficher les cases en gris si elles dépassent de la zone de damier (d'où les totalWidth/totalHeight).
La dernière DIV est sensé être un carré rouge mais n'est pas affichée non plus sous IE