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 :

Lire le backgroundImage de mon DIV avec getElementById


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut Lire le backgroundImage de mon DIV avec getElementById
    Bonjour,

    Je n'arrive pas à lire, avec un getElementById, le nom de mon image contenu dans un DIV. En revanche, l'image s'affiche bien à l'écran.

    Voici mon code

    SCRIPT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function AfficheInfo(DivId)
    {
        alert("Nom de l'image : " + document.getElementById(DivId).style.backgroundImage);
    }
     
    AfficheInfo("div_image");
    CSS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #div_image { position:absolute;
                       width:333px;
                       height:250px;
                       top:50px;
                       left:33px;
                       background-color:none;
                       background-image:url("Diapo/Novotel.jpg");}
    HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="div_image"></div>
    La syntaxe dans mon message alert est-elle fausse ?

    Sauriez-vous comment je peux faire afficher le nom de mon image avec alert() ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Salut a toi
    en fait pour récupèrer les style génèrés par les css il faut utiliser currentstyle et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Pour ie
    var tonstyle = document.getElementById(DivId).currentStyle[sStyle];
    //et  pour les autres navigateurs
    var tonstyle.getComputedStyle(x,null).getPropertyValue(sStyle);
    Voila bon courage

  3. #3
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut
    Merci pour la réponse le_chomeur mais je n'arrive pas à me servir de ton code.

    Je n'ai pas saisi ce que je devais mettre à la place de [sStyle].

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     var tonstyle = document.getElementById(DivId).currentStyle[backgroundImage];
    mais ça ne fonctionne pas.


    De plus, après avoir réussi à lire la propriété CSS, j'aimerais attribuer une image stockée dans mon tableau à mon fameux background-image:url() mais toujours pareil, je n'y arrive pas.

    Voici mon code
    SCRIPT
    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
     
            var tab_img = new Array;    //tableau contenant les images
     
            //Images stockées dans le tableau       
    	tab_img[0] = 'Diapo/Novotel.jpg'
            tab_img[1] = 'Diapo/LiveMoroni.jpg'
            tab_img[2] = 'Diapo/KidsGuitare.jpg'
            tab_img[3] = 'Diapo/LiveMoroni3.jpg'
            tab_img[4] = 'Diapo/Elie.jpg'
           	tab_img[5] = 'Diapo/Moroni.jpg'
     
     
    function ImageAfficher(DivId, NumImage) 
            { 
     
               document.getElementById(DivID).style.backgroundImage = "url(" + tab_img[Num_Image] + ")"; 
    	}    
     
    ImageAfficher("div_image",4);
    Auriez-vous une idée du pourquoi l'image n'est pas attribuer à mon backgroundImage ?

    Merci beaucoup.

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    pour récupèrer ton backgroundimage sous ie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    currentStyle.backgroundImage
    Sous firefox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getPropertyValue('background-image')
    et pour l'assigner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tondiv.style.backgroundImage = "url de l'image"
    voila

  5. #5
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut
    Bravo le_chomeur, ça roule comme sur des roulette.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        //Récupère l'arrière-plan
        LireDiv = document.getElementById(DivId).currentStyle.backgroundImage
        alert(LireDiv);
     
        //Assigne une image
        AssignerDiv=document.getElementById(DivId).style.backgroundImage = "url(" + tab_img[2] + ")"; 
        alert(AssignerDiv);
    Merci pour ton aide qui m'a été très précieuse.

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    de rien
    n'oublis pas de mettre à résolu ^^

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

Discussions similaires

  1. lire des vidéos sur mon site avec PC ou Mac
    Par brosse7adam dans le forum Débuter
    Réponses: 3
    Dernier message: 21/07/2013, 16h49
  2. Nom d'une DIV avec getElementById
    Par voyageurdumonde dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 31/03/2012, 17h55
  3. Que faire pour que le height de mon div s'allonge avec son contenu?
    Par Alexandrebox dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 10/02/2010, 17h25
  4. [HTML] chevaucher <div> avec .swf
    Par John Blobsmith dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/01/2005, 00h40
  5. Problème hauteur div avec IE
    Par keup dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 25/11/2004, 12h20

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