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 :

innerhtml pour l'affichage d'un svg généré avec la librairie D3


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut innerhtml pour l'affichage d'un svg généré avec la librairie D3
    Bonjour.
    je teste l'emploi de D3.
    le code suivant fonctionne parfaitement
    Code javascript : 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
    <div id="graphe_1">
    <script type="text/javascript">
    var tabval= [
    	{"mois":"janvier", "valeur":random_integer(10,30)},
        {"mois":"février", "valeur":random_integer(10,30)},
        {"mois":"mars", "valeur":random_integer(10,30)},
        {"mois":"avril", "valeur":random_integer(10,30)},
        {"mois":"mai", "valeur":random_integer(10,30)},
        {"mois":"juin", "valeur":random_integer(10,30)},
        {"mois":"juillet", "valeur":random_integer(10,30)},
        {"mois":"août", "valeur":random_integer(10,30)},
        {"mois":"septembre", "valeur":random_integer(10,30)},
        {"mois":"octobre", "valeur":random_integer(10,30)},
        {"mois":"novembre", "valeur":random_integer(10,30)},
        {"mois":"décembre", "valeur":random_integer(10,30)}
    	];
    draw(tabval);
    </script>
    </div>
    et m'affiche, à chaque raffraichissement de la page un graphe avec des valeurs différentes.
    En revanche, je ne réussis pas à insérer le svg dans le div graphe_1 comme on le fait avec du html normal en utilsant innerhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('graphe_1').innerHTML ="le svg à insérer ...";
    Avez-vous une idée ?

    Yves.
    Participez vous aussi !
    Message utile
    Discussion résolue

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Sans connaître la bibli, je parie qu'elle te renvoie des objets DOM, donc tu peux oublier innerHTML. Essaye avec appendChild.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    je connais de nom, pas de fonctionnalité, mais je pense que draw(tabval) est un peu juste comme fonction d'affichage !

  4. #4
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Bon. J'ai regardé la doc et il se trouve que D3 utilise une technique d'encapsulation similaire à jQuery.

    Du coup, je pense que le code devrait ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    d3.select("#graphe_1").append(function (d) {
       return … ;
    });
    Voir la doc.
    Sans savoir ce que renvoie ta fonction draw, je peux difficilement en dire plus. Indice : elle doit renvoyer un objet DOM.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Merci pour les idées. Je teste demain et repost sur le fil
    Participez vous aussi !
    Message utile
    Discussion résolue

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/07/2014, 11h29
  2. Réponses: 5
    Dernier message: 26/01/2012, 20h28
  3. Réponses: 12
    Dernier message: 05/03/2010, 13h44
  4. Réponses: 1
    Dernier message: 26/06/2007, 09h08

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