Bonjour,
Je bloque sur un morceau de code javascript qui pose problème sous IE7 (mais qui passe sans soucis sous IE6). L'objectif du script est d'appliquer un style="clear:both;" sur tous les éléments pairs d'une liste.
Ce qui me fait dire qu'il s'agit d'un problème de js, c'est que l'application manuelle du style="clear:both;" fonctionne parfaitement.
Voici un screenshot du résultat attendu (et obtenu sous IE6 et FF entre autres) :
Et voici un screenshot du résultat obtenu (sous 7) :
Il semblerait que le problème se pose à partir du 4ème item...
Voici le code incriminé :
[i:]Note : l'undescore présent après le crochet ouvrant dans la dernière ligne a été rajouté volontairement pour éviter un conflit avec une image du serveur.[/i]
Quelqu'un saurait d'où vient le problème ?
Merci d'avance
[/i][/i][/i]
Modifié par Corinne S. (08 Jan 2010 - 13:57)
Je bloque sur un morceau de code javascript qui pose problème sous IE7 (mais qui passe sans soucis sous IE6). L'objectif du script est d'appliquer un style="clear:both;" sur tous les éléments pairs d'une liste.
Ce qui me fait dire qu'il s'agit d'un problème de js, c'est que l'application manuelle du style="clear:both;" fonctionne parfaitement.
Voici un screenshot du résultat attendu (et obtenu sous IE6 et FF entre autres) :

Et voici un screenshot du résultat obtenu (sous 7) :

Il semblerait que le problème se pose à partir du 4ème item...
Voici le code incriminé :
/*Les listes paires vont à gauche */
function init_2col()
{
// On récupère les listes du coeur de page (contenu) dans une variable (un array), ici ul.
// les li "impairs" sont forcés à gauche
var ul=document.getElementById("contenu").getElementsByTagName("ul")[0];
var enf = ul.childNodes; /* li et text */
var nb_enf = enf.length;
var gauche = true;
var prec = 0;
for (var i = 0 ; i < nb_enf ; ++i) {
if (enf[i].nodeName == "LI")
{
if (gauche == true)
{
// document.write(" -- i " + i+ ", height " + enf[i].style.height);
enf[i].style.clear = "both";
gauche = false;
prec = i;
}
else {
gauche = true;
enf[i].style.height = [_prec].offsetHeight;
}
}
}
}
window.onload = init_2col;
[i:]Note : l'undescore présent après le crochet ouvrant dans la dernière ligne a été rajouté volontairement pour éviter un conflit avec une image du serveur.[/i]
Quelqu'un saurait d'où vient le problème ?
Merci d'avance

Modifié par Corinne S. (08 Jan 2010 - 13:57)