kylling
Messages postés20Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention 8 décembre 2006
-
8 déc. 2006 à 22:32
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 2007
-
9 déc. 2006 à 23:53
Salut,
J'aimerais que ce script récupère la valeur '
display'
d'un style css attaché à mon document.
Après avoir testé si la valeur correspond à 'block' ou 'none'.
Le problème, est que mon test vérifie toujours la première condition.
function montre(id) {
var d = document.getElementById(id);
alert(d.style.display);
if(d.style.display='none'){d.style.display='block';}
else if(d.style.display='block'){d.style.display='none';}
}
Quelqu'un a t-il une solution à me proposer ?
Merci d'avance
Kylling
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 8 déc. 2006 à 23:27
Salut
Lorsque tu donnes un style à un élément avec une feuille de style css les valeurs ne sont pas intégrées dans l'objet javascript style!!!
Tu peux par contre l'affecter et le changement prendra forme et si tu as déja modifié une propriété dans l'objet style de ton élément alors tu pourras faire le test mais qu'à cette condition.
Donc dans ton cas tu ne pourras pas tester la valeur display si celle-ci est définie par css
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 9 déc. 2006 à 13:17
A oui cette erreur m'avait échapé...
Mais bon ce qui est sur c'est que le 1er coup que tu vas lancer le test ca passera toujours dans le 2eme meme si dans ton style css tu avais donné display:none.
si tu fais document.getElementById('test').style.display tu auras une valeur nulle ou plutot une chaine de caractere vide et ca tant que on ne modifie pas la valeur de l'objet style en javascript. donc c'est impossible de vérifier la valeur display instanciée avec css.
Si c'est possible avec la propriété cssText si on définie le style au moyen d'une classe mais cela est totalement impossible si on utilise en css l'id de la div avec par exemple #test { ... }
Voilà lorsque à l'intérieur d'une balise tu mets style="...." la c'est automatiquement transcrit en objet javascript alors que lorsque dans le head tu inclus du css la ce n'est pas du tout pareil