IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

"Latitude" d'un mot dans un texte


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut "Latitude" d'un mot dans un texte
    Bonjour, je m'y connais très peu en JS, mais avant d'enchaîner des tutos jusqu'à trouver ce que je veux, j'aimerais savoir si cela est possible...

    Je cherche à obtenir la "latitude" d'un mot dans un texte.
    Il ne s'agit pas d'obtenir la "hauteur" d'un texte, par exemple "Ce texte de 7 lignes a une hauteur de 430 pixels", contrairement à ce que j'ai beaucoup vu sur google.
    Je cherche plutôt une "latitude", par exemple si j'ai la fable du renard et du corbeau, je voudrais savoir dans un premier temps à quelle hauteur se trouve le mot "plumage". Cette position variera donc selon le browser, si la fenêtre est plus petite, etc.

    L'étape suivante est d'utiliser cette hauteur pour aller aligner un autre mot (ex: "helloworld") à cette hauteur dans une seconde colonne à côté de celle de la fable.

    Image : Nom : blabla2.png
Affichages : 97
Taille : 17,9 Ko

    Une piste ? merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 661
    Billets dans le blog
    1
    Par défaut
    Au mieux je pense que l'on doit pouvoir récupérer un pourcentage de position que l'on pourra ensuite rapporter au nombre de lignes et à la largeur de la zone de texte
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    element.offsetTop
    https://developer.mozilla.org/fr/doc...ment.offsetTop

    jQuery propose la méthode offset() pour ça

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 661
    Billets dans le blog
    1
    Par défaut
    pour un mot dans un texte ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    On l'encapsule dans un <span> et on en parle plus

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 661
    Billets dans le blog
    1
    Par défaut
    oui j'avais pensé à cette possibilité, mais si le texte ne doit pas être dénaturé il faudra les retirer par la suite...
    Je préfère passer par un split et calculer les longueurs avant et après le mot et en déduire sa position par rapport au nombres de lignes, un peu plus compliqué, mais moins intrusif ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    beaucoup plus compliqué tu veux dire Un calcul qui se base sur le type de police, la taille de police, le fait que les caractères ne sont pas forcément à chasse fixe, le text-indent, le padding du conteneur... ça me paraît mission impossible. C'est infiniment plus simple avec un <span> et ça ne dénature pas le texte : à l'écran aucune différence et côté code, on aura qu'à utiliser textContent pour retrouver le texte d'origine.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 661
    Billets dans le blog
    1
    Par défaut
    non j'ai déja posté un script qui permet de récupérer la largeur d'un texte quelle que soit la taille de la police.
    http://www.developpez.net/forums/d26...gueur-d-texte/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Et ton script mesure la taille qu'occupe... un élément On en revient à mon idée

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 661
    Billets dans le blog
    1
    Par défaut
    oui justement si tu connais la taille (largeur) d'un coté, le nombre de lignes de ton texte de l'autre ...
    et enfin le % de la positon du mot il est simple d'en deduire ses coordonnées dans le conteneur

    il suffit de raisonner en répartition d'un ruban en ligne dans un div ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Hé non ce n'est pas aussi simple ! le positionnement d'un mot n'est pas proportionnel, il y a plein de propriétés CSS à tenir compte : l'alignement du texte, le word-break, le text-indent... Et toutes les lettres n'ont pas la même largeur, sauf si tu utilises une police à chasse fixe.

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 661
    Billets dans le blog
    1
    Par défaut
    tu n'as a priori pas vu ce que retournait mon script de "largeur' de texte qui se moque de la police à chasse fixe ou non et de sa taille ...

    Le seul écart qu'il puisse y avoir c'est en fonction du style de wrap et de justification je te l'accorde, en effet si un texte est justifié ou sans coupure de mots cela peut en effet générer un écart de ligne, donc la répartition du ruban en lignes peut en effet différer selon la justification et les césures de mots.

    Dans ce cas en effet la seule solution valable est un encapsulage du mot et une récupération de ses offSets ...

    easily done avec JQUERY
    http://jsfiddle.net/YvRx6/1/

    ou avec unwrap direct
    http://jsfiddle.net/YvRx6/2/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. comment masquer un mot dans un texte de type JTextArea
    Par harakat21 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 21/05/2006, 01h18
  2. [Tableaux] Remplacer une seule fois un mot dans un texte.
    Par psychoBob dans le forum Langage
    Réponses: 38
    Dernier message: 24/01/2006, 17h07
  3. Rechercher un mot dans un texte
    Par BernardT dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2005, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo