Récuperer la taille d'un DIV

tious82
Messages postés
21
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
30 août 2010
- 9 févr. 2010 à 16:34
cs_bumbo
Messages postés
26
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
10 février 2010
- 10 févr. 2010 à 10:57
Bonjour,

J'ai une page dans laquelle j'ai un div (jusque là tout va bien),
Je remplis ce div a l'aide d'une fonction Ajax ( tout va bien encore! )

Le problème est que je voudrais récupérer la taille de ce div donc je fait:

var div_height = $('div').clientWidth;


mais il me retourne 0.
Est-ce que quelqu'un a une idée?

P.s: je ne peux pas définir la taille du div dans le css car il faut qu'il s'adapte a la taille du texte

Merci
Tious

4 réponses

PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
17
9 févr. 2010 à 18:42
Bonjour,
si il s'agit d'un DIV avec style.display ="none" la valeur retournée est effectivement 0.
Mais l'erreur est peut être ailleurs...
;O)
0
PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
17
9 févr. 2010 à 18:44
as tu essayé avec
var div_height = $('div').offsetWidth;

;O)
0
cs_bumbo
Messages postés
26
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
10 février 2010

10 févr. 2010 à 08:26
Bonjour,


as tu essayé avec
var div_height = $('div').offsetWidth;



Effectivement, je me suis trompé quand j'ai posté le message je voulais dire "offsetWidth" au lieu de "clientWidth"

Donc pour résumer j'ai bien un div avec style.display ="none" et mon code est
var div_height = $('div').offsetWidth;


Donc dans ce cas, est-ce normal que la valeur retournée est bien 0?
si oui, comment puis-je contourner ce problème?

Merci
Tious
0
cs_bumbo
Messages postés
26
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
10 février 2010

10 févr. 2010 à 10:57
C'est bon, j'ai trouvé!!

En fait la requette ajax n'est pas séquentielle, ce qui veut dire que quand je récupère la taille du div, la requette ajax n'est pas terminée, donc le div est encore vide... heureusement j'utilise prototype, et il existe un callback qui permet d'exécuter une fonction une fois que la requette est finie

Voila
Tious
0