[JS] Remplir div dynamiquement avec du texte

Fermé
Fricky42 Messages postés 466 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 27 mars 2012 - 22 juil. 2010 à 11:45
Fricky42 Messages postés 466 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 27 mars 2012 - 26 juil. 2010 à 14:21
Bonjour,

Voici ma situation.

J'ai une page contenant une div de hauteur fixe.
Lors du traitement php je récupère un texte assez grand.

J'aimerai que le JS remplisse la div en sachant quand est ce qu'il n'y a plus de place. De sorte a ce que le texte ne dépasse pas et que la div ne s'aggrandisse pas.

Cela ne me semble pas très évident, mais bon.

Une idée ?

Merci =)

4 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 501
22 juil. 2010 à 12:39
Salut.

Tu peux faire ça simplement en CSS avec la propriété overflow.
Voilà les valeurs qu'elle peut prendre :
- scroll : Des barres de scroll s'affichent, même quand le texte ne dépasse pas
- auto : Des barres de scroll apparaîssent quand c'est nécessaire
- hidden : Masque le contenu qui dépasse
- visible (par défaut) : Le contenu dépasse (mais le div ne s'agrandi pas s'il a une hauteur fixe)
- inherit : Hérite de son parent.
0
Fricky42 Messages postés 466 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 27 mars 2012 182
22 juil. 2010 à 14:36
Salut.

Merci mais ce n'est pas ce que je recherche. En fait ne veux pas de scroll je veux juste que le js arrive a remplir la div au maximum et simplement s'arrete quand il n'y a plus de place. Il ne faut pas simplement cacher car il faut savoir ou on est rendu.

J'ai trouvé un moyen moyennement crade :
Je remplis mot par mot en verifiant si le height du div est modifié. Lorsque c'est le cas j'enleve le dernier mot. Ca marche mais il y a un léger temps de chargement au début (normal vu le procédé...).
0
Avant de remplir avec le DOM(js) ton Div tu tronques la longueur de ta chaîne qui vas remplir la div au nombre de caractères max que tu veut... c'est moche et pas du tout optimisé mais bon si c'est ce que tu veut ;)
Ou alors pareil en fixant une limite à ta chaîne dans le php lorsque tu la chope.

...avec ton système il y aura des bugs d'affichage si l'utilisateur a redimensionné la div ou changer la taille de la police, donc c'est vraiment pas recommandé.
0
Fricky42 Messages postés 466 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 27 mars 2012 182
26 juil. 2010 à 14:21
psudeu, justement non.
Il n'y a pas de bug d'affichage. Au contraire c'est forcément ok dans la mesure ou je me base directement sur la taille de la div. A chaque mot je verifie si la div n'a pas changé de height.
Par contre le soucis est la lenteur du process quoi....

Sinon je n'ai pas tout a fait compris ton premier paragraphe. Car justement si je tronque arbitrairement la chaine je ne suis pas sur d'obtenir ce que je veux en fonction de la taille que l'utilisateur a set.

0