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
Rejoignez-nous