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 :

svg changer le text d'une balise text


Sujet :

JavaScript

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut svg changer le text d'une balise text
    bonjour,

    j'ai un fichier svg dans lequel j'aimerais changer le text lorsque que je click sur un bouton.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <text id="tooltipText" x="0" y="0" >bleblz</text>
    j'aimerais changer le texte avec du code javascript
    je recupere la balise avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     texte = svgdoc.getElementById("tooltipText");
    mais apres??? comment faire ??
    j'ai essayer innerSVG et innerHTML j'ai essayer d'autre truc, mais cela marche pas.


    qqn pourrais t il me dire comment faire?

    merci

    a++

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut
    je mets ici les codes complets parce que je commence à bloquer complètement
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?xml  version="1.0"  encoding="UTF-8"  standalone="no" ?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"[<!ATTLIST svg xmlns:xlink CDATA  #FIXED "http://www.w3.org/1999/xlink"
    >
    ]><!--  Generated by Graphviz version 2.18 (Fri Mar 28 18:30:32 GMT 2008) -->
    <!--  Title: _anonymous_0 Pages: 1  -->
    <svg width="1498pt" height="224pt" viewBox="0.00 0.00 1498.00 224.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="recupereSVGDoc(evt)">
    <script xlink:href="generalgraph.js" type="text/ecmascript" />
    <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 220)" onclick="afficheTooltip(evt,&apos;ppooo&apos;)" >
    <title>_anonymous_0</title>
    <polygon
     style="fill:white;stroke:white;"
     points="-4,4 -4,-220 1494,-220 1494,4 -4,4"
    />
    <g
     id="node1"
     class="node"
     onclick="afficheTooltip(evt,&apos;mon petit text :D &apos;)"
    >
    <title>
    ADDR</title>
    <polygon
     style="fill:#030303;stroke:#030303;"
     points="563,-205 419,-205 419,-83 563,-83 563,-205"
    />
    </g>
    </g>
     
     
            <rect id="tooltipRect" x="0" y="0" rx="5" ry="5" width="100" height="16" style="visibility: hidden" />
            <text id="tooltipText" x="0" y="0" style="visibility: hidden"></text>	
     
     
    </svg>

    et js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    var svgdoc;
    function recupereSVGDoc(evt) {
       svgdoc  = evt.target.ownerDocument;
       }
     
       function afficheTooltip(evt,text) 
       {
                            var rectangle, texte;
     
                            texte = svgdoc.getElementById("tooltipText");
     
                            texte.firstChild.nodeValue = text;
     
                            texte.setAttribute("style", "fill: rgb(255,131,9); font-size: 11px; visibility: visible");
                            texte.setAttribute("x", evt.clientX+3);
                            texte.setAttribute("y", evt.clientY-8);
     
                            rectangle = svgdoc.getElementById("tooltipRect");
                            rectangle.setAttribute("style", "fill: #FFEBD5; stroke: #FF8309; stroke-width: 0.5px; visibility: visible");
                            rectangle.setAttribute("x", evt.clientX);
                            rectangle.setAttribute("y", evt.clientY-20);
                            rectangle.setAttribute("width",texte.getComputedTextLength()+6);
        }
    voila

    merci

    a+

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Salut Elekis je suis en train de découvrir GraphViz avec son wrapper PHP, Image_GraphViz de PEAR et j'aimerai savoir comment tu as fait pour ajouter la ligne suivante dans le svg généré par GraphViz
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script xlink:href="generalgraph.js" type="text/ecmascript" />
    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Salut,

    Je n'ai pas regardé le code de ton 2ème message, mais d'après ce que tu dis dans le 1er, il n'y a rien de très compliqué si tu connais un peu l'API DOM :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var tooltipText = svgdoc.getElementById("tooltipText");
    tooltipText.removeChild(tooltipText.firstChild); // si tu n'as pas mis d'espace ou de retour à la ligne
    tooltipText.appendChild(document.createTextNode("le nouveau texte"));
    J'espère avoir répondu à ta question

Discussions similaires

  1. Modification de texte dans une balise div
    Par lulu70 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/09/2007, 10h47
  2. [XSLT]problème d'appel de texte dans une balise à partir d'un attribut
    Par docteur chépère dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/01/2007, 10h57
  3. Plusieurs images et un texte dans une balise <td> ?
    Par Tententai dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/01/2007, 14h29
  4. Afficher sur plusieur ligne du texte dans une balise <td>
    Par G_Kill dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/12/2006, 08h50
  5. [HTML][Firefox] Attribut maxlenght dans une balise Text
    Par charlot44 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/07/2005, 09h34

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