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 :

[POO] Modifier un attribut du style sous Internet Explorer


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut [POO] Modifier un attribut du style sous Internet Explorer
    Bonsoir,
    j'ai un problème avec la fonction setAttribute() :

    voilà ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //Fonction qui modifie l'image en fonction d'une autre
    function change_image(){
        var fond = document.getElementById('monId');
        if (fond.style.backgroundImage == url(mon_image1.jpg)){  
            fond.setAttribute('style','background-image:url(mon_image2.jpg)');
        } else {
            fond.setAttribute('style','mon_image1');
        }
    }
    Cette fonction marche correctement sous FireFox mais pas sous Internet Explorer.
    Après quelques recherches j'ai vu qu'il fallait mieux procéder ainsi pour Internet Explorer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //Fonction qui modifie l'image en fonction d'une autre
    function change_image(){
        var fond = document.getElementById('monId');
        if (fond.style.backgroundImage == url(mon_image1.jpg)){  
            fond.style.setAttribute( 'cssText','background-image:url(mon_image1.jpg);');
        } else {
            fond.style.setAttribute( 'cssText','background-image:url(mon_image2.jpg);');
        }
    }
    Cette fois ma fonction réagit mais place ma nouvelle image en haut de page indifféremment de l'objet référencé par 'monID'.

    Quel peut être le problème ?
    Merci !

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    cssText écrase tout ce que tu as pu mettre avant dans le style il me semble.
    tu peux tout simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonImage.style.backgroundImage = "url(...)";
    (avec de belles balise CODE)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonImage.style.setAttribute("backgroundImage","url(...)");

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut
    Toujours pas d'amélioration...
    Ma fonction s'applique à un objet qui est en fait une balise <TD> à laquelle je cherche modifier son fond à chaque appel à la fonction.
    Peut être que la source de l'erreur est liée à cette balise ?

    Merci.

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    au passage tu dois avoir une exception parce que ton test doit exploser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fond.style.backgroundImage == 'url(mon_image1.jpg)'
    les quotes...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut
    Oui effectivement je les ai oubliés dans mon message mais les quotes étaient bien dans mon programme..

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut
    Est-il possible sinon que l'incompatibilité provienne du getElementById ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Par défaut
    J'ai (enfin) isolé le problème !
    Il provenait effectivement de l'id lié à ma balise.
    En effet ma balise avait comme structure :

    <TD .... id = 'ballon' >

    J'ai simplement ( après quelques heures de recherche quand même ) modifier le nom 'ballon' par 'ballon1' par exemple et tout a fonctionné !

    ballon serait un mot reservé d'Internet Explorer ?

    Je reste perplexe...

    Merci de votre aide !

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

Discussions similaires

  1. [POO] Modifier un attribut depuis le main
    Par Garwan50 dans le forum Débuter
    Réponses: 27
    Dernier message: 08/03/2013, 18h49
  2. Réponses: 1
    Dernier message: 05/04/2011, 19h49
  3. Feuille de style inactive sous Internet Explorer
    Par jaymzwise dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 03/08/2007, 08h41
  4. pb de rollover sous internet explorer
    Par gofono_bass dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/12/2005, 07h05
  5. Texte qui disparait sous internet explorer.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/08/2005, 02h55

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