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 :

Affectation de style.backgroundImage = IMAGE ?


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 249
    Par défaut Affectation de style.backgroundImage = IMAGE ?
    Bonjour,

    J'ai une image dans une cellule tableau et j'ai écrit un JavaScript pour faire un rendu progressif de l'image, à la fin du code je dois affecter à l'image d'arrière plan de la cellule tableau l'image en avant plan qui est le contenu de la cellule.

    Normalement on fait ça et ca fonctionne très bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getElementById("Cell1").style.backgroundImage = "url('Images/klematis3_small.jpg')";
    j'ai besoin de faire quelque chose comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("Cell1").style.backgroundImage = document.getElementById("Img1"). (... à déterminer) ;
    on voit que j'ai un cellule de tableau qui contient une image d'arrière plan lorsque j'affiche une nouvelle image en avant plan l'effet de rendu progressif se fait par dessus l'image d'arrière plan de la cellule "Cell1" qui est l'image précédente, donc à la fin du processus de rendu je dois affecter à l'image d'arrière plan de la cellule l'image que je viens d'afficher avec rendu progressif pour l'affichage de la prochaine image.

    Normalement la valeur de style.backgroundImage contient un string égal à
    ex: "url(Images/klematis_small.jpg)" (cette valeur vient du débogueur) mais si je veux reconstituer un URL à partir de document.getElementById("Img1") j'ai un problème je ne peux pas faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("Cell1").style.backgroundImage = 
     "url(document.getElementById('Img1'))";
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("Cell1").style.backgroundImage = 
     "url(document.getElementById('Img1').src)";
    car l'intérieur du contenu de l'URL n'est pas évalué il est transmis intégralement je vais donc avoir style.backgroundImage = "url(document.getElementById('Img1')" et non pas quelque chose comme style.backgroundImage = "url('Images/klematis3_small.jpg')"

    Peu importe l'explication comment affecter à style.backgroundImage une image de la page ou reformulé d'une autre façon comment recrer un URL à partir d'une image d'une page ? on peu penser au champ src ou href ou nameProp ou encore comment recrer un URL à partir d'une variable qui contient le nom de l'image (attention "URL(variable)" n'est pas évalué ! vous allez avoir style.backgroundImage = "URL(variable)" intégralement)

    C'est impossible qu'on ne puisse pas faire cette affectation c'est juste un manque de connaissance sur le sujet c'est mon premier script Java et je n'ai pas de doc autre que le contenu en ligne trop de contenu ca fini plus.

    Bye.

  2. #2
    Membre confirmé Avatar de the-destroyer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 204
    Par défaut
    Salut !

    C'est normal qu'il ne interpréte pas, il prend tout comme chaine de caractères, essai :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("Cell1").style.backgroundImage = "url(" + document.getElementById('Img1').src + ")";

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 249
    Par défaut
    Parfait c'est presque ça pour avoir exactement le même format il faut faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getElementById("Cell1").style.backgroundImage = "url(Images/" + document.getElementById('Img1').nameProp + ")";
    Je ne sais pourquoi je n'ai pas pensé joindre la chaine en trois parties ?quand on passe trop de temps devant l'ordi on finit par devenir totalement inefficace.

    Merci.

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

Discussions similaires

  1. style.backgroundImage et une variable de type Image.
    Par defacta dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/02/2010, 08h46
  2. Affecter plusieurs style à une police.
    Par thib42 dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/08/2007, 12h19
  3. [JTextComponent] Afficher du texte avec style et image
    Par jean_bobi dans le forum Composants
    Réponses: 9
    Dernier message: 30/10/2005, 13h47
  4. [CSS][IE] différencier style input image et input text
    Par ddams dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 06/09/2005, 14h42

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