[JS]Taille en pixels d'un texte

Taille en pixels d'un texte [JS] - HTML/CSS - Programmation

Marsh Posté le 14-06-2006 à 18:04:49    

Salut !
 
Voilà, j'ai une page web, et j'affiche une info-bulle lorsqu'on survole certaines zones avec la souris.
Ces info-bulles sont formattées avec CSS et générées par JavaScript.
Chaque info-bulle contient le même texte que dans les champs associés.
 
Le truc, c'est que j'aimerais n'afficher l'info-bulle QUE si le texte contenu dans la zone dépasse de cette zone.
Ces zones (span) ont une taille fixée par CSS, et une propriété 'overflow' définie à 'hidden' pour être sûr que le span ne s'adapte pas à la taille du texte.
Résultat : si le texte est trop long, la partie qui "dépasse" n'est pas affichée (mais elle est toujours accessible en JS avec la commande 'innerHTML'). C'est ce que je voulais.
Mais j'aimerais savoir quand ça dépasse, justement, pour savoir si il y a besoin d'afficher l'info-bulle ou pas.
Je sais récupérer la largeur du span.
Mais je ne sais pas comment connaître la longueur en pixels du texte qu'elle contient, pour savoir si le texte dépasse ou pas.
 
Donc voilà, j'aurais besoin d'aide à ce niveau.
 
PS: je suis pas sûr d'avoir été très clair... :sweat:


Message édité par tantemerde le 14-06-2006 à 18:13:12
Reply

Marsh Posté le 14-06-2006 à 18:04:49   

Reply

Marsh Posté le 15-06-2006 à 08:28:27    

Tui mets le texte dans un autre span (invisible et les bords collés au texte), tu aura la largeur du texte.
Autre soluce en JS, à tester: tu change l'overflow pendant que tu récupère la taille.


Message édité par nargy le 15-06-2006 à 08:31:22
Reply

Marsh Posté le 15-06-2006 à 09:49:28    

+1 pour la deuxième soluce (ingénieuse d'ailleurs, je n'y aurais pas pensé).

Reply

Marsh Posté le 15-06-2006 à 11:19:27    

Ok merci !
Je viens d'implémenter la 2ème soluce et ça marche très bien :)
 
Merci encore de votre aide ;)

Reply

Sujets relatifs:

Leave a Replay

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