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 :

Changer la valeur d'un backGround


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de jubourbon
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 540
    Points : 189
    Points
    189
    Par défaut Changer la valeur d'un backGround
    Bonjour,

    Je souhaiterais creer une fonction JavaScript toute simple, qui modifie la valeur de la prorpiété background d'une balise span, lorsque je clique dessus.
    J'ai effectué des recherches pour comprendre javascript (que je ne connais pas tres bien), et voici le resultat qui ne fonctionne pas:
    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
    20
     
    function ChangeColor(){
    var laValeur=document.getElementById("span_span").style.backgroundColor;
    switch (laValeur) {
    case "#FF0000":
    document.getElementByID("span_span").style.backgroundColor='#FF6600';
    break;
    case '#FF6600':
    document.getElementById("span_span").style.backgroundColor='#00FF00';
    break;
    case '#00FF00':
    document.getElementById("span_span").style.backgroundColor='#999999';
    break;
    case '#999999':
    document.getElementById("span_span").style.backgroundColor='#FF0000';
    break;
    default: 
    alert('rien trouvé');
    break;
    }
    Et j'arrive toujours sur l'alerte "rien trouvé".
    Dans ma page voici ma balise span:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span id='span_span' onclick='ChangeColor()' style='background-color:#FF0000; width:8px; height:24px;'>blabla</span>
    Quelqu'un peut t il m'eclairer et m'expliquer pourquoi cela ne fonctionne pas?

    Merci

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    fait un alert(laValeur) avant le switch, je pense que tu aura la couleur
    en notation rgb(r,g,b) (à vérifier).

  3. #3
    Membre habitué Avatar de jubourbon
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 540
    Points : 189
    Points
    189
    Par défaut
    il me renvoi bien #FF0000
    on dirai que le switch ne capte pas la valeur

  4. #4
    Membre habitué Avatar de jubourbon
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 540
    Points : 189
    Points
    189
    Par défaut
    J'ai trouvé:
    La fonction renvoi le numero de couleur en minuscule, et mon switch compare des valeur en majucsule.

  5. #5
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Chez moi il m'affiche "rgb(255,0,0)" (sous FireFox)

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par jubourbon Voir le message
    J'ai trouvé:
    La fonction renvoi le numero de couleur en minuscule, et mon switch compare des valeur en majucsule.
    Prends garde au fait que tous les navigateurs ne retournent pas la
    couleur au même format.

  7. #7
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    En fait, c'est plus traître que ça. Selon le navigateur j'obtiens des résultats différents. En exécutant ce test :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
    <head>
       <title>attacher plusieurs évènements sur un élément</title>
       <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
       <style type="text/css">
          #d {width:200px;height:200px;background:#ccc;}
       </style>
    </head>
    <body>
       <div id="d" style="background-color:#00f;"></div>
       <script type="text/javascript">
       alert(document.getElementById("d").style.backgroundColor);
       </script>
    </body>
    </html>
    J'obtiens sous FF et Safari : "rgb(0, 0, 255)" (sans oublier l'espace après les virgules)
    sous IE : "#00f" (la valeur saisie)
    sous Opera : "#0000ff"

    Il faudrait peut-être passer pas des classes CSS.

    edit: grillé, mais j'ai l'habitude

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

Discussions similaires

  1. [javascript] Changer la valeur de onclick()
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/12/2005, 11h29
  2. [formulaire] changer une valeur affichée
    Par soad dans le forum Access
    Réponses: 8
    Dernier message: 11/10/2005, 19h59
  3. impossible de changer la valeur d'un hidden...
    Par Palmic dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2005, 13h06
  4. Changer la valeur sélectionnée d'un <select> en javasc
    Par Oluha dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/02/2005, 16h53
  5. Changer la valeur de la MTU sur un LAN
    Par nin2 dans le forum Réseau
    Réponses: 3
    Dernier message: 19/02/2005, 16h47

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