[Javascript] Obtenir la hauteur d'un "div" ? [Résolu, merci Leris]

Obtenir la hauteur d'un "div" ? [Résolu, merci Leris] [Javascript] - HTML/CSS - Programmation

Marsh Posté le 28-10-2004 à 10:53:22    

Bonjour,
 
J'essaie depuis plusieurs heures d'obtenir la hauteur d'un div en javascript (et FireFox). J'utilise le code suivant :

function b2(event)
{
 barre=event.target.id;
 div=document.getElementById(barre);
 alert(div.style.height); /* Pour test */
}

Mais ça ne fonctionne pas, j'ai essayé d'autres méthodes et le résultat est le même.
 
Le div est déclaré de la façon suivante :

<div id="b2" class="c"></div>


Le style est :

div {position: relative; border: solid; border-color: #000000; border-width: 1px; margin : 1px; height: 1em; }
div.c{width: 1em; height: 24em; text-align: center; }


http://darkoli.free.fr/js/degrade.html
 
Quelle est la bonne méthode pour obtenir la hauteur du div ?


Message édité par darkoli le 29-10-2004 à 10:27:07

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 28-10-2004 à 10:53:22   

Reply

Marsh Posté le 29-10-2004 à 00:02:30    

J'ai essayé plein de propriétés comme :
 - height,
 - clientHeight,
 - layerHeight,
 - innerHeight,
 - offsetHeight.
 
Ou des méthodes :
 - getLayerHeight(),
 - getHeight().
 
Mais rien n'y fait je n'arrive pas à obtenir la hauteru du "div".
 
Est-ce que c'est devenu impossible (avec FireFox), ça marchait très bien en 2000 avec IE ! :D
 
Est-ce que cela vient de la façon dont j'ai déclaré le "div" ?


Message édité par darkoli le 29-10-2004 à 00:02:53

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 29-10-2004 à 01:15:14    

salut,
 
le css style.css
 

Code :
  1. #cont{
  2. position:absolute;width:400px;height:230px;left:100px;border:1px solid blue;
  3. }


 
extrait de page :

Code :
  1. <LINK href="style.css" type=text/css rel=stylesheet>
  2. <script language="javascript">
  3. function look(){
  4. var doc = document.getElementById('cont');
  5. if (document.all) // ok I.E
  6. {
  7. H = doc.currentStyle.height;
  8. P = doc.currentStyle.left;
  9. }
  10. else // ok firefox.0.9.2 , pas mozilla.1.0 ni netscape.7.02
  11. {
  12. H = document.defaultView.getComputedStyle(doc, null).height;
  13. P = document.defaultView.getComputedStyle(doc, null).left;
  14. }
  15. alert('hauteur = '+ H + ' ; ' +  P + ' de la gauche');
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <br>
  21. <div id="cont">
  22. <a href="#" onClick="look();">look-hauteur</a><br>
  23. </div>


 
++
 
L.

Reply

Marsh Posté le 29-10-2004 à 10:26:05    

Merci Leris  :bounce:  :bounce:  :bounce:  :love:  :love:  :love:  :D
Mais comment tu peux connaître ça ?
J'ai pas mal cherché et je n'ai jamais rien trouvé de ressemblant.


Message édité par darkoli le 29-10-2004 à 10:26:50

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 29-10-2004 à 10:57:39    

re,
 
http://www.quirksmode.org/dom/w3c_css.html
 
permet de tester avec differents navigateurs.
 
 :)  
 
++
 
L.

Reply

Marsh Posté le 29-11-2004 à 14:01:04    

Excellent, merci bien Leris.
 
Voici mon problème:
 
- J'ai plusieurs DIV, chacun contient une image de fond qui se répète autant de fois que nécessaire pour prendre tout l'espace;
 
- La hauteur des DIV "gauche" et "droite" se calent sur la hauteur du DIV "centre".
 
- dans le code HTML, j'ai <body onload="taillediv()" onresize="taillediv()">
 
Le soucis est le suivant: Dans l'explorateur internet, quand on modifie la taille du texte (menu "Affichage", "Taille du texte" dans l'exemple d'internet explorer), les DIV sont bien redimensionnée, mais pas l'image de fond qu'ils contiennent...
 
Comment se fait-ce ?  :??:


Message édité par voleurdecarottes le 29-11-2004 à 14:03:14
Reply

Marsh Posté le 25-08-2007 à 14:14:13    

Hello
moi aussi je désirais obtenir la hauteur d'un élément
grâce à ce sujet, c'est chose faite !! merci
 
seul hic que j'ai rencontré : la hauteur affiché sous IE était : auto et non le nombre de pixels...
grâce au lien W3c_css, j'ai trouvé ça la fonction offsetHeight :
 
en remplaçant donc H = doc.currentStyle.height;
par H = doc.offsetHeight ;
 
ça marche nickel sous IE et firefox, et plus besoin d'aucune condition !!


Message édité par GOGO125 le 25-08-2007 à 14:50:22
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed