shupakiko
Messages postés3Date d'inscriptionvendredi 16 mai 2008StatutMembreDernière intervention29 mai 2008
-
29 mai 2008 à 12:55
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
30 mai 2008 à 12:48
Bonjour,
je crée actuellement un site pour une société et je dois créer un menu glissant sur la gauche de ma page.
j'ai bien avancé dans mon script mais je bute maintenant sur un probleme tout bête:
je dois comparer la hauteur de 2 zones pour savoir si j'effectue mon traitement ou non, mais pour la zone de droite, clientHeight me renvoie toujours 0.
voici un peu de mon code pour vous aider à comprendre:
<script>
var hauteurContent = document.getElementById('content');
</script>
et
<?php while ($ligne = mysql_fetch_array($result)
{ ?>
...
<?php } ?>
si je fais un alert(hauteurContent) j'obtiens toujours 0 !!!
merci par avance de votre aide
moi et les maths, ca fait au moins plus l'infini au carré
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 mai 2008 à 13:25
Bonjour,
tu devrais obtenir ["object"]... avec ce que tu nous dis.
mais.. peut-être utilises-tu l'objet avant qu'il n'existe ?
( remarque que tu aurais "undefined" à priori... )
bref.. on n'en a pas aseez... d'infos
MAIS SURTOUT PAS LE PHP ! un EXTRAIT ( ça aussi surtou )
de la page résultante !!!!
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 29 mai 2008 à 14:31
>>montrer plus de code serait superflu
c'est comme tu le sens, après tout c'est ton code et c'est toi qui pose la question,
n'est-il pas ?
mais déjà, tu as fait une ch'tiote modif par rapport au 1er message,
me trompe-je ?
que te dire de plus ? peut-être de regarder le problème des tailles ici ?
shupakiko
Messages postés3Date d'inscriptionvendredi 16 mai 2008StatutMembreDernière intervention29 mai 2008 29 mai 2008 à 15:21
Pardon pour le premier message mais j'avais simplement oublié de réécrire 'clientHeight' (dans le message hein pas dans mon code)
donc apres quelques tests, la propriété clientHeight marche tres bien sous firefox mais me renvoie 0 pour mon objet dont l'id est 'Content' sous IE7...
Pourtant clientHeight
var hmenu =document.getElementById('menu').clientHeight;
marche tres bien pour ma zone 'menu'
menu et content sonr des div et
_menu contient une table
_content contient plusieurs tables de même structure que celle du menu.
Je ne comprends donc pas pourquoi clientHeight ne veut pas me renvoyer autre chose que 0... IE croirait-il que ma zone 'content' est vide ? mais pourquoi ??? parce que cette zone est générée par php ? pourtant le php s'exécute avant le javascript....
bref je suis perdu et IE commence à me faire une sorte de fussoir
si quelqu'un peut m'aider ca serait super ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 30 mai 2008 à 09:42
comme quoi le reste du code n'était pas si superflu que cela !
tu sais, en général, si on demande un complément d'infos,
ce n'est pas pour emm....er le monde !
la taille dépend de l'élément, du navigateur.... ce que
j'ai mémorisé dans le lien fourni, qu tu n'as pas du
essayer... ( petoleTeam a sûrement raison ! )
<hr /> Cordialement Bul [mon Site] [M'écrire]
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 30 mai 2008 à 12:48
Bonjour,
<table bgcolor= "#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, ( petoleTeam a sûrement raison !
)</td>
</td></tr></tbody></table>pour savoir...un
petit exemple de test qui va bien...
<html>
<head>
<style type="text/css">
#D_1
{ height : 1px;} /* hauteur déclarée pour DIV
id='D_1'*/
</style>
</head>
Premier DIV
XXXXXXXXXXXXXXX
Deuxième identique
XXXXXXXXXXXXXXX
<script type="text/javascript">
var Html = "";
//-- Test 1er DIV
var O_Div =
document.getElementById( 'D_1');
Html = "D_1\n"
Html += "Offset \t=
" + O_Div.offsetHeight;
Html += "\nClient \t= " + O_Div.clientHeight;
alert( Html);
//-- Test 2eme DIV
O_Div = document.getElementById( 'D_2');
Html = "D_2\n"
Html += "Offset \t= " + O_Div.offsetHeight;
Html += "\nClient \t= "
+ O_Div.clientHeight;
alert( Html);
</script>
</html>
Le D_1 est déclaré avec une hauteur de 1px
ce qui suffit à IE pour afficher clientHeight à la bonne valeur...
alors que le
D_2 n'a pas de hauteur déclarée, mettre une hauteur auto reviens au même
que de ne pas en mettre, dans ce cas de figure.