Display, Visibility.. fâchés avec IE ?
Bonjour,
Je suis un débutant en javascript et, naïf que je suis, je me heurte à de nombreux soucis de compatibilité entre FF et IE.
Le problème qui me pourrit la vie actuellement concerne le masquage d'éléments. Parrait-il que c'est déprecié de de déclarer des elem en
Code:
style='display:none'
mais ma malheureuse page n'a pas vocation à être visitée et encore moins référencée.
J'ai donc ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<input type="checkbox" onChange="showElem('p-auteur')"> Bla Bla </input>
....
-----------------------------------------------
function contenu(){
document.write("<p id='p_auteur'>du bordel dynamique calculé avec JS</p>");
}
function showElem(id){
var elem = document.getElementById(id);
if(elem.style.display == "none"){
elem.style.display = "block";
}else{
elem.style.display = "none";
}
} |
Sous FF, niquel...
Sous IE c'est hyper chiasseux comme affichage. C'est executé, mais c'est comme si il manquait un "repaint()" (pour causer Java). Quand je clique dans la zone parente l'elem paresseux s'affiche ou se cache (en differé donc).
Cependant quand les elems à cacher sont déclarer directement dans le HTML ça se passe bien, même pour IE j'entend...
Enfin presque, il balance le tout après un div déclaré pourtant comme dernier élément...
Enfin quand je dis IE, je n'ai testé que sur un browser basé sur IE : "Avant Browser". Mais je doute que ça change qqc sous IE pur et dur ?