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

Bibliothèques & Frameworks Discussion :

image avec lien hypertexte [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut image avec lien hypertexte
    Voilà, j'ai des images que j'insère dans des dojo.dnd.target de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var img = dojo.create('img',null,tdx);
    	var age = document.getElementById(i+"-age").value;
    	var color = document.getElementById(i+"-color").value;
    	img.src = "Pages/images/" + color + ".bmp";
    	var colonne  = new dojo.dnd.Target("nodeA"+ age);
    	colonne.insertNodes(false, [{ data: "<img src=" + img.src + ">" }]);
    Jusque là, tout marche bien, mes images apparaissent bien.
    Maintenant je voudrais rajouter des liens hypertextes à toutes mes images.
    J'ai essayé des choses du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var img = dojo.create('img',null,tdx);
    var link = dojo.create('a',null,tdx);
    link.href = "http://www.google.fr/";
    	var age = document.getElementById(i+"-age").value;
    	var color = document.getElementById(i+"-color").value;
    	img.src = "Pages/images/" + color + ".bmp";
    	var colonne  = new dojo.dnd.Target("nodeA"+ age);
    	colonne.insertNodes(false, [{ data: "<img src=" + img.src + ">" }]);
    Mais bien évidemment, ça ne marche pas .
    J'ai aussi essayé en créant d'abord le link et en créant le img à l'intérieur du link, mais mes images n'apparaissent plus du tout.
    Une idée pour m'aider?

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Je ne comprends pas tout ton code. Pourquoi créer l'image et ensuite chercher à la recréer dans le insertNodes ?

    Essaie beaucoup plus simple:
    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
     
    //l'image est ajoutée dans le dom mais pas dans la page
    var img = dojo.create('img',null);
    //on paramètre
    var age = document.getElementById(i+"-age").value;
    var color = document.getElementById(i+"-color").value;
    img.src = "Pages/images/" + color + ".bmp";
     
    //idem pour le lien
    var link = dojo.create('a',null);
    link.href = "http://www.google.fr/";
    //on ajoute l'image dans le lien
    dojo.place(img,link,"first");
     
    var colonne  = new dojo.dnd.Target("nodeA"+ age);
    //on ajoute le lien (et donc l'image) au Target
    colonne.insertNodes(false, [link]);
    Bon dev,

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut
    En effet, je recrée l'image dans le insertNodes. Ca illustre bien mon manque d'expérience .

    En fait, ton code fait planter mon IE. Mais je l'ai un tout petit peu modifié et ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	var age = document.getElementById(i+"-age").value;
    	var color = document.getElementById(i+"-color").value;
    	//on crée le lien
    	var link = dojo.create('a',null);
    	link.href = "http://www.google.fr/";
    	//on crée l'image DANS le lien
    	var img = dojo.create('img',null,link);
    	img.src = "Pages/images/" + color + ".bmp";
    	//on insert le lien dans la colonne			
    	var colonne  = new dojo.dnd.Target("nodeA"+ age);
    	colonne.insertNodes(false, [link]);
    Ton aide est toujours précieuse

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut
    Si je rajoute un texte à mon lien, est-ce que je peux m'arranger pour que l'image soit en fond.
    Ou bien ce n'est faisable que via les propriétés CSS du lien?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2010
    Messages : 123
    Points : 58
    Points
    58
    Par défaut
    Ca marche plutôt bien avec le CSS.
    J'ai un peu l'impression de m'être cassé le c*l pour rien pour réussir à insérer une image...
    J'espère que ça va malgré tout m'être utile plus tard

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,

    Effectivement les CSS donnent une certaine latitude pour insérer une image dans le fond d'une balise, sans avoir à injecter d'élément img.

    L'important, je crois, c'est la signification de la balise img dans ton doc; au delà de la représentation graphique, porte-t-elle une information ? Si tel est le cas, alors laisse un élément img, mais si c'est juste une mise en valeur d'un lien, alors le CSS est adapté.

    ERE
    Quand une tête pense seule, elle devient folle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2018, 16h35
  2. [XL-2010] Comment associer une formule avec lien hypertexte à une image
    Par graphikris dans le forum Excel
    Réponses: 1
    Dernier message: 07/03/2016, 18h31
  3. Images mouvantent avec liens hypertextes
    Par CooK_aSS dans le forum Flash
    Réponses: 1
    Dernier message: 21/08/2010, 04h57
  4. image avec lien
    Par ghita269 dans le forum Langage
    Réponses: 4
    Dernier message: 11/07/2006, 20h44
  5. image avec lien internet
    Par zorian dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/05/2006, 18h56

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